@POST @PreAuthorize("isAuthenticated()") @Produces(MediaType.APPLICATION_JSON + ";charset=UTF-8") @Consumes(MediaType.APPLICATION_JSON + ";charset=UTF-8") @ApiOperation( value = "Luo uuden koulutuksen", notes = "Operaatio luo uuden koulutuksen", response = KoulutusV1RDTO.class) @ApiResponses(value = { @ApiResponse(code = 200, message = "Operation successful"), @ApiResponse(code = 400, message = "Invalid request payload"), @ApiResponse(code = 401, message = "Unauthorized request"), @ApiResponse(code = 403, message = "Permission denied") }) public Response postKoulutus(KoulutusV1RDTO koulutus);
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); }
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 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()); } } } }
@GET @Path("/describeServices") @ApiOperation(value = "List the available services in POIProxy with their operations, configuration and expected output", notes = "Prints every single service configured in POIProxy in a key, value object, where the key that defines a service can be used to other API requests as the service parameter", response = es.alrocar.poiproxy.configuration.DescribeServices.class) @ApiResponses(value = { @ApiResponse(code = 500, message = "Server error"), @ApiResponse(code = 200, message = "OK", response = es.alrocar.poiproxy.configuration.DescribeServices.class) }) public void describeServices() { }
operation.setResponses(responses); final int code = apiResponse.code(); if (!StringUtils.isNullOrEmpty(apiResponse.message())) { response.setDescription(apiResponse.message()); Class<?> responseClazz = apiResponse.response(); if (responseClazz != null && responseClazz != Void.TYPE && responseClazz != Void.class) {
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 collectApiResponses(RequestMappingContext context) { HandlerMethod handlerMethod = context.getHandlerMethod(); Optional<ApiResponses> apiResponses = Annotations.findApiResponsesAnnotations(handlerMethod.getMethod()); log.debug("Reading parameters models for handlerMethod |{}|", handlerMethod.getMethod().getName()); if (!apiResponses.isPresent()) { return; } for (ApiResponse response : apiResponses.get().value()) { ResolvedType modelType = context.alternateFor(typeResolver.resolve(response.response())); context.operationModelsBuilder().addReturn(modelType); } log.debug("Finished reading parameters models for handlerMethod |{}|", handlerMethod.getMethod().getName()); } }
@GET @Consumes({UmaConstants.JSON_MEDIA_TYPE}) @Produces({UmaConstants.JSON_MEDIA_TYPE}) @ApiOperation(value = "Not allowed") @ApiResponses(value = { @ApiResponse(code = 405, message = "Introspection of RPT is not allowed by GET HTTP method.") }) public Response requestRptStatusGet(@HeaderParam("Authorization") String authorization, @FormParam("token") String rpt, @FormParam("token_type_hint") String tokenTypeHint) { throw new WebApplicationException(Response.status(405).entity("Introspection of RPT is not allowed by GET HTTP method.").build()); } }
operation.setResponses(responses); final int code = apiResponse.code(); if (!StringUtils.isNullOrEmpty(apiResponse.message())) { response.setDescription(apiResponse.message()); Class<?> responseClazz = apiResponse.response(); if (responseClazz != null && responseClazz != Void.TYPE && responseClazz != Void.class) {
private Map<String, Model> readApiResponses(SwaggerGlobalSettings settings, HandlerMethod handlerMethod) { Optional<ApiResponses> apiResponses = Annotations.findApiResponsesAnnotations(handlerMethod.getMethod()); Map<String, Model> modelMap = newHashMap(); log.debug("Reading parameters models for handlerMethod |{}|", handlerMethod.getMethod().getName()); if (!apiResponses.isPresent()) { return modelMap; } for (ApiResponse response : apiResponses.get().value()) { if (!settings.getIgnorableParameterTypes().contains(response.response())) { ResolvedType modelType = settings.getAlternateTypeProvider() .alternateFor(asResolved(new TypeResolver(), response.response())); ModelContext modelContext = ModelContext.inputParam(modelType); markIgnorablesAsHasSeen(settings.getTypeResolver(), settings.getIgnorableParameterTypes(), modelContext); Optional<Model> pModel = modelProvider.modelFor(modelContext); if (pModel.isPresent()) { log.debug("Swagger generated parameter model id: {}, name: {}, schema: {} models", pModel.get().getId(), pModel.get().getName()); modelMap.put(pModel.get().getId(), pModel.get()); } else { log.debug("Swagger core did not find any parameter models for {}", response.response()); } populateDependencies(modelContext, modelMap); } } log.debug("Finished reading parameters models for handlerMethod |{}|", handlerMethod.getMethod().getName()); return modelMap; }
@GET @Produces(MediaType.APPLICATION_JSON) @ApiResponses(value = { @ApiResponse(code = 400, message = "invalid_request\n" + "The request is missing a required parameter, includes an unsupported parameter or parameter value, repeats the same parameter or is otherwise malformed. The resource server SHOULD respond with the HTTP 400 (Bad Request) status code."), @ApiResponse(code = 500, message = "Introspection Internal Server Failed.") }) public Response introspectGet(@HeaderParam("Authorization") String p_authorization, @QueryParam("token") String p_token, @QueryParam("token_type_hint") String tokenTypeHint, @Context HttpServletRequest httpRequest, @Context HttpServletResponse httpResponse ) { return introspect(p_authorization, p_token, tokenTypeHint, httpRequest, httpResponse); }
operation.setResponses(responses); final int code = apiResponse.code(); if (!StringUtils.isNullOrEmpty(apiResponse.message())) { response.setDescription(apiResponse.message()); Class<?> responseClazz = apiResponse.response(); if (responseClazz != null && responseClazz != Void.TYPE && responseClazz != Void.class) {
@GET @Path("/{taskId: [0-9-]+}/content") @ApiOperation(value = "Get the content associated with a specific task", notes = "Returns Task content") @ApiResponses(value = { @ApiResponse(code = 404, message = "Task can not be found") }) public Response getTaskContentByTaskId( @PathParam("taskId") long taskId );
operation.setResponses(responses); final int code = apiResponse.code(); if (!StringUtils.isNullOrEmpty(apiResponse.message())) { response.setDescription(apiResponse.message()); Class<?> responseClazz = apiResponse.response(); if (responseClazz != null && responseClazz != Void.TYPE && responseClazz != Void.class) {
@GET @Path("/{taskId: [0-9-]+}") @ApiOperation(value = "Get a specific task", notes = "Returns a Task") @ApiResponses(value = { @ApiResponse(code = 404, message = "Task can not be found") }) public Response getTask( @PathParam("taskId") long taskId );
operation.setResponses(responses); final int code = apiResponse.code(); if (!StringUtils.isNullOrEmpty(apiResponse.message())) { response.setDescription(apiResponse.message()); Class<?> responseClazz = apiResponse.response(); if (responseClazz != null && responseClazz != Void.TYPE && responseClazz != Void.class) {
@GET @Path("/content/{contentId: [0-9-]+}") @ApiOperation(value = "Get a specific task content", notes = "Returns task content") @ApiResponses(value = { @ApiResponse(code = 404, message = "Content can not be found") }) public Response getTaskContentByContentId( @PathParam("contentId") long contentId );