【发布时间】:2016-02-10 14:42:01
【问题描述】:
我目前正在使用 Jersey 框架(JAX-RS 实现)来构建 RESTful Web 服务。项目中的资源类已经实现了标准的 HTTP 操作——GET、POST 和 DELETE。我试图弄清楚如何将请求参数从客户端发送到这些方法。
对于 GET,它将位于查询字符串中(使用 @QueryParam 提取),POST 将是与请求正文一起发送的名称/值对列表(使用 @FormParam 提取)。我使用 HTTPClient 对它们进行了测试并且工作正常。对于 DELETE 操作,我没有找到关于参数类型/格式的任何结论性答案。 DELETE 操作是否在查询字符串(使用@QueryParam 提取)或正文(使用@FormParam 提取)中接收参数?
在网络上的大多数 DELETE 示例中,我观察到使用 @PathParam 注释进行参数提取(这将再次来自查询字符串)。
这是将参数传递给 DELETE 方法的正确方法吗?我只是想在这里小心一点,以免违反任何 REST 原则。
【问题讨论】: