当属性略有不同时,单独的 API 端点



>假设我有一个体育运动员端点。 它给了我他们的出生数据,薪水,名字和姓氏。 伟大的涵盖了所有运动。 橄榄球,足球,你的名字...

然后有人想要足球终点的进球,而其他人想要橄榄球运动员的尝试次数。 所以现在我可以坚持使用一种资源,当它是橄榄球运动员时,目标为空,反之亦然。 或者我可以做单独的端点。 什么更好?

我很欣赏纯粹的 REST,一切都应该是动态可发现的,所以你可以用任何一种方式做。 这是务实的休息。

我认为在您的情况下另一个不错的选择是设计一个资源(player(,它具有不同运动共有的所有属性(例如namesports等(,然后添加一个通用属性(例如statistics(,它是不同属性的键/值对数组。这允许您向资源添加任何信息,而无需将某些内容设置为null

例:

[
{
"name": "Player1",
"sports": "soccer",
"statistics": [
"goals": 5
]
},
{
"name": "Player2",
"sports": "basketball",
"statistics": [
"points": 12
]
}
]

相关内容

最新更新