rest服务应该将包含ID的实体返回给其他实体还是实体本身?
我不确定之前是否有人回答过,但我不知道如何搜索这种类型的东西,所以我想在这里问一下。例如,如果我有一个名为User的实体,其外观如下:rest服务应该将包含ID的实体返回给其他实体还是实体本身?,rest,api-design,Rest,Api Design,我不确定之前是否有人回答过,但我不知道如何搜索这种类型的东西,所以我想在这里问一下。例如,如果我有一个名为User的实体,其外观如下: class User { int id; string name; int roleId; } { "id": 1, "name": "user" "role": { "id": 1,
class User
{
int id;
string name;
int roleId;
}
{
"id": 1,
"name": "user"
"role": {
"id": 1,
"permissions": [
"something here"
]
}
}
和一个名为Role的实体
class Role
{
int id;
string name;
string[] permissions;
}
用户包含角色的id。如果我通过rest api请求一个用户,是否应返回该用户,并提供如下角色id:
{
"id": 1,
"name": "user"
"roleId": 1
}
然后,如果我需要获取该角色,我应该发送另一个api调用来获取该特定角色。或者我应该将角色映射到用户并按如下方式返回它:
class User
{
int id;
string name;
int roleId;
}
{
"id": 1,
"name": "user"
"role": {
"id": 1,
"permissions": [
"something here"
]
}
}
在这种情况下,我不需要发送另一个请求,但我可能不需要该角色。取决于受众,如内部消费,是ID很好,允许他们根据需要建立多个查询 最终,如果您想针对您的受众进行定制,而不是提供每一种数据排列作为rest端点,那么请研究消费者可以在哪里根据他们的需求定制响应