REST放入资源时如何处理查询参数?

时间:2020-03-05 18:49:07  来源:igfitidea点击:

我有一个REST数据服务,我想允许用户使用json,xml,csv等不同格式通过HTTP PUT创建新项目。我不确定如何最好地处理url中的格式规范:

PUT /ressource/ID/json
PUT /ressource/ID/xml

或者

PUT /ressource/ID?format=json
PUT /ressource/ID?format=xml

那么指定格式指示符的最佳方法是什么?

如果我使用查询参数指定格式,并想执行PUT,我该如何使用curl?

curl -T test/data.json -d "format=json"  http://localhost:5000/resource/33

不起作用。

curl -T test/data.json http://localhost:5000/update?format=json

可以,但是我宁愿让curl生成查询参数,而不是自己添加它们。

解决方案

回答

RESTful Web服务的一般原则是在适用时使用HTTP内置的功能。在这种情况下,我们可以通过将Content-Type标头设置为application / json或者application / xml来指示PUT请求内容的格式。