Swagger无法为HTTP“PATCH”生成文档
我遵循了以下内容
博客文章: http : //kingsfleet.blogspot.co.uk/2014/02/transparent-patch-support-in-jax-rs-20.html
https://github.com/jersey/jersey/tree/2.6/examples/http-patch
创建端点以支持Jersey 2.6依赖版本中的HTTP“PATCH”方法:
-Jersey: 2.6 -swagger-jersey2-jaxrs_2.10: 1.3.12
题? 为什么Patch
终点没有被列为swagger ui文档的一部分?
分析:
如果我使用此注释进行注释,则会生成该端点的文档,但不会进行交互。
@com.wordnik.swagger.jaxrs.PATCH
配置
JerssyApplicationInitializer packages(true, "com.test.account.endpoint", "com.wordnik.swagger.jaxrs.json"); //Swagger Configuration register(new ApiListingResourceJSON(), 10); register(JerseyApiDeclarationProvider.class); register(JerseyResourceListingProvider.class); //Genson Converter register(GensonJsonConverter.class, 1); register(createMoxyJsonResolver());
我不确定,如果我遗失了什么,任何帮助或指南都会有所帮助。
补丁方法doscumets:
public static final String PATCH_MEDIA_TYPE = "application/json-patch+json"; @PATCH //@com.wordnik.swagger.jaxrs.PATCH @PreAuthorize(userAuthenticationRequire=true) @Consumes(PATCH_MEDIA_TYPE) @Path("{id: .\\d+}") @ApiOperation(value = "Update Client Details in UIM System." , response = State.class , notes="Requesting User, should be the owner of the Client." , consumes = PATCH_MEDIA_TYPE) @ApiResponses({ @ApiResponse(code = _401, message = "If the access token is invalid.", response = String.class), @ApiResponse(code = _498, message = "If the access token is expired.", response = String.class), @ApiResponse(code = _420, message = "If Provided Input is not valid according to requirment specification."), @ApiResponse(code = _404, message = "If no client/app Found."), @ApiResponse(code = _200, message = "If Client Account has been Updated successfully. ", response=String.class) }) public State updateClientDetails(@ApiParam(value="Client Id to be Updated.", required=true) @PathParam(CLIENT_ID) String clientId , @ApiParam(value = "Updated field and Value.", required = true) final State newState){ //LOG.info("[ENTRY]- Received requst for updating Client {} from System.", clientId); System.out.println("----->" + someBean.test()); //LOG.info("[EXIT]- Client Id {} Updation has been completed.", clientId); Test t = new Test(); t.name = "Hello Test"; System.out.println(t.name); return newState; }
看看你的index.html。 它控制哪些HTTP操作是交互式的 – 通过将其更改为:
window.swaggerUi = new SwaggerUi({ url: url, dom_id: "swagger-ui-container", supportedSubmitMethods: ['get', 'post', 'put', 'delete', 'patch'],
您将在PATCH方法上进行交互: