我正在设计一个 REST API,在这个特定的用例中,试图找出最好的方法以及这个超媒体应该是什么样子。
场景是呼叫者打电话/persons?fields=lastName;filter=beginsWith=b
是因为他想要返回一个姓氏以“b”开头的人的列表。
下面显示了我试图弄清楚如何最好地塑造/表示包括与之关联的超媒体的 JSON 响应。
您可以看到人员列表,而您只能看到 name 属性,因为它是每个人的部分表示。
然后我尝试在此处添加 HATEAOS,但不确定添加最有用的内容以及应该参考的内容。
我想好吧,我可以为我要返回的组(列表)本身提供一个 href。如果是这样的话,在哪里?我不认为像我正在做的那样把它放在根对象中是没有意义的。因为期望是返回一个人员列表,而不是一些根元对象,所以我对下面的内容感觉不好。
或者
有没有人认为在这个特定的实例中它没有用或没有真正接受 HATEOS,我应该在这里提供一些其他类型的 href 链接?
JSON - 返回的人员对象(表示)列表
[
"meta": {
"rel": "self",
"href": "http://ourdomain.api/persons?fields=lastName;filter=beginsWith=b"
},
{
"name": {
"last": "best"
}
},
{
"name": {
"last": "bettler"
}
},
{
"name": {
"last": "brown"
}
}
]