自定义 Arquillian ArquillianResteasyResource 应用程序路径 - 此 URL 不支持错误 HTTP 方法 POST

Custom Arquillian ArquillianResteasyResource application path- Error HTTP method POST is not supported by this URL

我的 REST API 在部署时工作正常,但我的测试使用 Jersey Arquillian 扩展失败:

@Test
@RunAsClient
public void postTest(@ArquillianResteasyResource final WebTarget webTarget) {

    MyRequest request = new MyRequest();

    String response = webTarget.path("/demo").request(MediaType.APPLICATION_JSON)
            .post(Entity.json(request)).readEntity(String.class);

    Assert.assertEquals("OK", response);

}

我收到错误:

Error HTTP method POST is not supported by this URL

我的 JAX-RS 程序看起来不错:

@ApplicationPath("api")
public class JaxRsActivator extends Application {

}

@Path("/demo")
@Stateless
public class DemoResource extends BaseResource {

    @POST
    public Response demo(MyRequest request) {
        return Response.ok().entity("OK").build();
    }
}

@ArquillianResteasyResource 的默认值是 rest,但我的 JaxRsActivator 设置为 api

为了解决这个问题,我使用了:

@ArquillianResteasyResource("api")

获取完整的 URI:webTarget.getUri()