自定义 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()
我的 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()