运行 Wildfly 上的 Jax-rs 2.1 HTTP 补丁 - 不允许使用 405 方法

Running Jax-rs 2.1 HTTP PATCH on Wildfly - 405 Method Not Allowed

我正尝试 运行 在 wildfly 10.1 上使用 http 补丁 方法休息 api。0.Final。如果我在此端点上发出请求,我会收到 405 Method Not Allowed

我用javax.javaee-api:8.0.

补丁:

@PATCH
@Path("/documents/{id}")
public Response patchDocument(@PathParam("id") String id,
        @ApiParam(value = "", required = true) @Valid PatchRequestSTO jsonPatch) {
    return ok(jsonPatch.toString()).build();
}

响应:405 方法不允许

Allow:OPTIONS, PUT
Connection:keep-alive
Content-Length:0
Date:Fri, 05 Jan 2018 07:55:44 GMT
Server:WildFly/10
X-Powered-By:Undertow/1

放:

@PUT
@Path("/documents/{id}")
public Response putDocument(@PathParam("id") String id,
        @ApiParam(value = "", required = true) @Valid PatchRequestSTO jsonPatch) {
    return ok(jsonPatch.toString()).build();
}

响应:200 好

您是否在项目中使用 javax.javaee-api:8.0 作为依赖项?这不足以在 WildFly 10.1 上 运行 Java EE 8 应用程序。0.Final,因为 Wildfly 不支持它。

因此您需要一个支持 JavaEE 8 的应用程序服务器(Glassfish, Open Liberty,...)才能使用新功能。