Tom*_*rdt 26
我会说这两种方法都能正常运行,因此保持API的一致性非常重要.我个人选择的选项只是将内容发送为application/json.
POST并没有强迫你使用application/x-www-form-urlencoded它 - 它只是被大量使用的东西,因为它是webbrowsers使用的东西.
将它直接作为序列化JSON发送没有任何问题,例如google默认在它的volley库中执行此操作(显然这是他们推荐的用于android的REST库).
事实上,关于如何不使用JSON,有很多问题,而是用排球执行"正常"的POST请求.这对于初学者来说有点反直觉,不得不覆盖它的基类getParams()方法.
但谷歌有自己的REST库默认执行此操作,这将是我的指示,它是好的.
您可以使用 JSON 作为请求数据的一部分,因为 OP 已声明所有三个选项都有效。
OP 需要支持 JSON 输入,因为它必须支持包含复杂的结构内容。但是,这样想……您是在请求做某事,还是只是发送基本上是文档数据的内容,而您只是碰巧使用该POST操作作为创建新条目的等价物。
既然如此,您所拥有的基本上就是一个具有 CRUDL 语义的资源端点。跟进您实际上不仅限于application/json资源端点应该处理的任何类型。
我发现(特别是对于 JAX-RS)application/x-www-urlencoded一个更好。
application/x-www-urlencoded.非资源端点示例:
GET在这个上使用)multipart/form-data这样我可以将元数据与内容一起传递,但 JAX-RS 没有针对这个 Jersey 的标准,而 RestEasy 有自己的实现)| 归档时间: |
|
| 查看次数: |
17629 次 |
| 最近记录: |