rest api的响应是否包含资源的ID?

时间:2017-07-05 07:57:05

标签: rest api api-design

如果服务器响应包含资源的ID,那么rest api中的良好做法或标准是什么?

例如,此响应包含资源的ID

GET /users/5
{
"user_id": 5
"first_name" : "John",
"last_name" : "Doe",
"minutes_active": 10
}

这假设资源的id是请求的URL中所述的

GET /users/5
{
"first_name" : "John",
"last_name" : "Doe",
"minutes_active": 10
}

1 个答案:

答案 0 :(得分:2)

  

这假设资源的id是请求的URL中所述的

从客户端的角度来看,URI是不透明的;如果您通过将信息放入他们希望解析的URI中来向客户传达信息,那么您就失去了情节。

如果您的API需要将ID提供给客户端,那么id应该包含在资源的表示中。

  

你的意思是什么“URI是不透明的;如果你通过将信息放入他们希望解析的URI来向客户传达信息......”?它看起来像客户端创建了URI,所以表面上它已经知道了ID ......?

通常,REST API客户端遵循链接,而不是构建URI。 HTTP请求中没有任何内容告诉您客户端如何选择特定URI - 它可能是书签,或其他表示中的链接,或填写表单的结果。