【发布时间】:2019-10-10 23:33:05
【问题描述】:
我正在开发一个可以返回用户列表的 API:
"users": [
{
"userId": 1,
"name": "John Smith"
"address": {
"countryCode": "gb",
"street": "Orford Street 20",
"locality": "London"
}
"skills": [
{ "skillId": 1, "name": "design" },
{ "skillId": 2, "name": "logotype" }
]
}
]
考虑我需要创建一个具有地址和技能的用户。
哪种正文格式更常用?某种扁平化的东西:
"users": [
{
"name": "John Smith"
"addressCountryCode": "gb",
"addressStreet": "Orford Street 20",
"addressLocality": "London"
"skills": [ "design", "logotype" ]
}
]
也许尊重与 GET 响应相同的格式:
"users": [
{
"name": "John Smith"
"address": {
"countryCode": "gb",
"street": "Orford Street 20",
"locality": "London"
}
"skills": [
{ "name": "design" },
{ "name": "logotype" }
]
}
]
或者可以分步创建用户:
- 创建用户;
- 为用户添加地址;
- 为用户添加技能。
我相信,即使 API 具有 steps 端点,接受包含所有数据的 User 也会阻止多个 Post 查询创建单个用户。
哪种方法更常用?
或者甚至可以使用另一个?
【问题讨论】:
标签: api asp.net-core api-design