我有一个简单的 RESTful 方法,当前返回对象的 JSON 表示形式。
我的问题更多是从架构的角度来看的,而不是完全技术性的。
RESTful 服务是否应该设计为同时返回 JSON 和 XML?
据我所知,这是一种不好的做法,应该为此定义单独的资源。一种资源应返回 JSON 数据,另一种资源应返回 XML。
我的想法正确吗?
根据请求,同一资源可能会返回 XML 或 JSON,但不应同时返回两者。您将根据请求知道要返回哪一个,因此无需同时生成两者 - 只需生成要返回的那个即可。
您可以通过以下方式来决定返回哪个。按顺序求值,确定要返回的格式后停止:
- 如果资源中添加了扩展(
GET /user/1234.json
or GET /user/1234.xml
),使用它作为请求的格式。
- 如果设置了 Accept 标头,请使用该标头的值作为请求的格式。
- 如果存在请求正文(如 POST 的情况),并且 Content-Type 标头指定 JSON 或 XML,请使用它。
- 如果以上都不适用,请使用默认格式(通常使用 JSON 作为默认格式,除非您的客户通常仍在使用 XML)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)