private List<Map<String, Object>> determineResponses(Method method) { final List<Map<String, Object>> result = Lists.newArrayList(); final ApiResponses annotation = method.getAnnotation(ApiResponses.class); if (null != annotation) { for (ApiResponse response : annotation.value()) { final Map<String, Object> responseDescription = ImmutableMap.<String, Object>of( "code", response.code(), "message", response.message()); result.add(responseDescription); } } return result; }
private void addResponse(DocumentationOperation documentationOperation, ApiResponse apiResponse) { Option<String> responseOption = Option.apply(apiResponse.response().getName()); ResponseMessage responseMessage = new ResponseMessage(apiResponse.code(), apiResponse.message(), responseOption); documentationOperation.addResponseMessage(responseMessage); }
protected Set<ResponseMessage> read(HandlerMethod handlerMethod) { Optional<ApiResponses> apiResponsesOptional = Annotations.findApiResponsesAnnotations(handlerMethod.getMethod()); Set<ResponseMessage> responseMessages = newHashSet(); if (apiResponsesOptional.isPresent()) { ApiResponse[] apiResponseAnnotations = apiResponsesOptional.get().value(); for (ApiResponse apiResponse : apiResponseAnnotations) { String overrideTypeName = overrideTypeName(apiResponse); responseMessages.add(new ResponseMessageBuilder() .code(apiResponse.code()) .message(apiResponse.message()) .responseModel(new ModelRef(overrideTypeName)) .build()); } } return responseMessages; }
private void applyAnnotatedOverrides(SwaggerGlobalSettings swaggerGlobalSettings, HandlerMethod handlerMethod, Map<Integer, ResponseMessage> byStatusCode) { Optional<ApiResponses> apiResponsesOptional = Annotations.findApiResponsesAnnotations(handlerMethod.getMethod()); if (apiResponsesOptional.isPresent()) { ApiResponse[] apiResponseAnnotations = apiResponsesOptional.get().value(); for (ApiResponse apiResponse : apiResponseAnnotations) { String overrideTypeName = overrideTypeName(swaggerGlobalSettings, apiResponse); ResponseMessage responseMessage = byStatusCode.get(apiResponse.code()); if (null == responseMessage) { byStatusCode.put(apiResponse.code(), new ResponseMessageBuilder().code(apiResponse.code()).message(apiResponse.message()).responseModel (overrideTypeName).build()); } else { String responseModel = responseMessage.getResponseModel(); if (!isNullOrEmpty(overrideTypeName)) { responseModel = overrideTypeName; } byStatusCode.put(apiResponse.code(), new ResponseMessageBuilder().code(apiResponse.code()).message(coalese(apiResponse.message(), responseMessage.getMessage())).responseModel(responseModel).build()); } } } }