如何构建一个 API,其中相同的数据可以以不同的格式(RESTful 格式)请求。例如。
GET /person/<id> //get the details of resource <id>
现在,根据客户端(浏览器)的要求,数据可以作为 html(例如正常渲染)或 Json(例如 ajax 调用)发送。所以我的疑问是
- 我可以为两个请求保留相同的网址,还是应该将它们分开?
- 如何在服务器端检测请求是否为html/Json。请求类型相同(GET)。那么我应该考虑哪个参数。
- 如何检测客户端数据类型的差异(html/Json)\
谢谢
bsr。
请您参考如下方法:
类似问题:REST Content-Type: Should it be based on extension or Accept header?
接受的答案有很多要点。
Can I keep the same url for both requests, or should keep them seperate?
是的,保持它们相同。它是相同的资源,您只是要求它的不同表示形式。
How to detect whether the request is for html/Json at the server. The request type is same (GET). So which parameter should I consider.
您可以使用 Accept header 来指定返回内容类型。
How to detect the difference in data type at client (html/Json)\
您将查看“Content-Type” header 。