Lau*_*res 34 rest json hateoas
我正在设计一个REST api并且像它一样成为RESTful.我想将HATEOAS合并到json响应中.
将URL添加到相关资源很容易,但是对于用于这些链接的结构进行了一些讨论.
我发现很多文章使用从ATOM提要借来的结构:
"links": [
{"rel": "self", "href":"http://example.org/entity/1"},
{"rel": "friends", "href":"http://example.org/entity/1/friends"}, ...
]
Run Code Online (Sandbox Code Playgroud)
这提出了一些问题:
为什么使用数组作为容器?根据我所知道的javascript开发人员,使用链接作为对象的属性,访问链接会更容易.例如:
"self": { "href":"http://example.org/entity/1" }, /* (facebook uses this) */
"friends": { "href":"http://example.org/entity/1/friends", "type": "..."}
Run Code Online (Sandbox Code Playgroud)是否有一个共同的json结构(在再次调整原子旁边)来描述资源属性中的引用?(例如消息的发件人).
该引用可能应该再次作为URL解析,但是包含简单ID也不好吗?有一些像:
"sender": {
"id": 12345,
"href": "resource-uri"
}
Run Code Online (Sandbox Code Playgroud)我的想法是,虽然HATEOAS使得客户端不需要很多知识来使用API,但我不愿意消除使用该知识的可能性(比如通过构建链接来访问配置文件图片)客户端没有先查找用户).
Lau*_*res 26
我在API-Craft google小组上重新启动了这个主题并得到了一些很好的回复.
Array设计的主要优点是:
原因地图具有更好的可访问性.
就结构而言,有很多可能性:
我想我会选择HAL,因为它是最干净的解决方案,其余的看起来都很...... json很奇怪.
| 归档时间: |
|
| 查看次数: |
19222 次 |
| 最近记录: |