我有一个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构建查询参数,而不是自己添加它们。
答案 0 :(得分:15)
RESTful Web服务的一般原则是在适用时使用HTTP内置的功能。在这种情况下,您可以通过将Content-Type标头设置为 application / json 或 application / xml 来指明PUT请求内容的格式。