假设我有一个Users
微服务。其数据是在HATEOAS“模式”之后通过REST API消耗的,因此常见的请求/响应将是这样的:
GET /users
{
results: 5,
data :[
{
name: "John Doe",
email: "whatever",
...,
links : [
{
rel: "self",
href: "/users/1"
}
]
},
...
]
}
正如HATEOAS所说,不会返回用户的ID,而是返回“self”的链接。
到目前为止,这么好。现在,我想要另一个微服务来管理用户的图片。在那个新的微服务中,一个用户和她的照片之间存在关系,所以我需要一个用户标识符。
我应该在图片微服务中使用“/ users / 1”(“自我”链接)作为用户ID吗?
如果没有,我该如何处理?
答案 0 :(得分:0)
您不能假设网址的结构,但您可以返回实体ID。
我应该在照片中使用“/ users / 1”(“自我”链接)作为用户ID 微服务?
如果你这样做,你假设第二个微服务使用相同的url方案,这是坏的。你把两个微服务结合起来。
此外,请求响应中包含的网址仅对该(微)服务有意义,您不能只假设另一个系统中的相应resource
具有相同的id