我正在使用REASTEasy设计restful Web服务API。我有一个工作流程,我必须删除资源中的多个项目。 Web服务签名看起来像这样
@DELETE
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
@Path("/directories/{directoryname}/documents")
public Response deleteDocuments(@FormParam("documentnames")final String documents, @PathParam("directoryname")final String directoryName)
我正在提出以下请求
DELETE /directories/1234/documents HTTP/1.1
Host: localhost:8080
Cache-Control: no-cache
Postman-Token: 45c0094f-1853-5710-2201-a1102a6acef0
Content-Type: application/x-www-form-urlencoded
documentnames=test
但是当调用该方法时,表单参数“documentnames”的值为null
,即使我将其值传递给test
,如请求中所示。
答案 0 :(得分:0)
再次查看您的注释:
@Path("/directories/{directoryname}/documents")
public Response deleteDocuments(@FormParam("documentnames")final String documents, @PathParam("directoryname")final String directoryName)
@PathParam("directoryname")
在{directoryname}
定义中引用@Path
,而@FormParam("documentnames")
应从表单请求中获取数据。但是,如果没有表单参数,则执行HTTP DELETE
。至少我没有看到你已发送的捕获。
您是否也想将目录作为路径参数发送?