Skip to main content
 首页 » 编程设计

json之休息 : different representations of the same data

2024年07月26日19lyhabc

如何构建一个 API,其中相同的数据可以以不同的格式(RESTful 格式)请求。例如。

GET /person/<id>  //get the details of resource <id> 

现在,根据客户端(浏览器)的要求,数据可以作为 html(例如正常渲染)或 Json(例如 ajax 调用)发送。所以我的疑问是

  1. 我可以为两个请求保留相同的网址,还是应该将它们分开?
  2. 如何在服务器端检测请求是否为html/Json。请求类型相同(GET)。那么我应该考虑哪个参数。
  3. 如何检测客户端数据类型的差异(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 。