我已经开始设计一个 API,并决定尝试使其符合 REST/HATEOAS。API 的入口点应该是什么?
这似乎是一个常见的问题,GET /
但从我读过的内容来看,使用它在逻辑上可能更有意义OPTIONS /
,因为实际上没有/
用于检索的资源。
我在这里给出了这两个例子,使用JSON 的HAL语法作为超媒体格式。
得到 /
要求:
GET / HTTP/1.1
Host: example.com
回复:
HTTP/1.1 200 OK
Date: …
Content-Type: application/json;charset=utf-8
Content-Length: 143
{
"_links": {
"self": {
"href": "/"
},
"penguins": {
"href": "/penguins"
}
}
}
选项 /
要求:
OPTIONS / HTTP/1.1
Host: example.com
回复:
HTTP/1.1 200 OK
Date: …
Allow: OPTIONS
Content-Type: application/json;charset=utf-8
Content-Length: 143
{
"_links": {
"self": {
"href": "/"
},
"penguins": {
"href": "/penguins"
}
}
}