我在不同的地方看到两种类型的例子.一个使用表单字段
curl -X PUT -d"phone = 123.456.7890"" http://127.0.0.1/services/rest/user/123 "
另一个使用XML内容,如(某些变体)
echo"<user> <id> 123 </ id> <phone> 123.456.7890 </ phone> </ user>"| curl -X PUT -d @ - " http://127.0.0.1/services/rest/user/ "
看起来使用表单字段具有简洁的优点,并且通过仅针对修改的字段清楚地识别客户端的意图,但是使得解决"更深层"元数据变得尴尬.
使用XML内容具有更完整的优点,但是确定客户端实际修改哪个字段的开销的缺点(假设它们通过小的修改发送回整个资源).
是否有最佳实践,甚至更常见的做法?
在第二个示例中,URL 不引用特定资源,因此恕我直言,它不是 RESTful。
如果解决了这个问题,选择就归结为表单和 XML 编码。
如果您需要结构化且可扩展的数据,那么 XML 可能会很有用:
<phone type="work, mobile"><num>555-555</num><ext>123</ext></phone>
Run Code Online (Sandbox Code Playgroud)
但不是必需的:
phone=555-555&phone-ext=123&phone-type=work&phone-type=mobile
Run Code Online (Sandbox Code Playgroud)
许多 API 用户可能会弄错 XML 编码,难以掌握命名空间间接,因此表单编码可能更适合广大受众。
| 归档时间: |
|
| 查看次数: |
4393 次 |
| 最近记录: |