rest - 使用“许多”参数调用 RESTful 服务

标签 rest

我们正在设计一个 iPhone 应用程序,它将回调 Tomcat 中运行的 RESTful 服务。我们需要发送许多查询参数,并且已经超出了手机允许的最大值。

使用带有主体参数的 PUT 调用是否是 RESTful,即使意图不修改服务器? POST 似乎不正确,因为它不是幂等的,而 PUT 是幂等的(因此更类似于 GET 的行为)。

谢谢。

最佳答案

您有三个最大限度地符合 HTTP 的选项:

首先,您可以选择发送以某种方式压缩的参数以形成较短的 URL。

其次,GET 中没有任何内容表明您不能在请求中发送消息正文,无论采用 Content-Type-Length 你选择。并非所有服务器都支持此功能,但 HTTP 协议(protocol)本身支持。

第三,您可以将参数 POST 到 /queries/ 资源,并使用 201 Created 和新 URL(例如 /queries/78a65g82)位于 Location 响应 header 中,然后客户端对其调用 GET(重复,甚至在 Ranges 中,如果是的话)一个好处)来检索结果。

关于rest - 使用“许多”参数调用 RESTful 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3841708/

相关文章:

mysql - spring JPA java.sql.Date 接受无效日期

web-services - 对于支持 CRUD 操作的 RESTful API,我应该使用单个或多个复杂类型吗?

ruby - 从Docker公开/发布端口

android - 用于上传和下载文档的 REST 服务器

javascript - 原型(prototype) RPC 和 REST

jquery - 使用 REST API 在线获取 SharePoint 2013 中的列表数据(包括附件和其他字段数据)

java - Tomcat 7 泽西 REST 不工作

java - 电子商务网站架构

api - 我应该为外部服务设置哪个超时?

java - ReSTLet如何解码HTTP基本认证中的secret