一个最佳实践问题。如果要设计RESTful接口,将如何区分子类型。例如,您的应用程序具有动物(每个动物都由其animalId标识),它们具有狗和鸟的子类型,其中每个子类型都有其特定的子资源。例如,狗的尾巴长而鸟的翅膀长(无论如何)。您会选择哪种方法(或者您有更好的想法)?
1)
/animals/{animalId}/tail-length (400 when animal is bird)
/animals/{animalId}/wings-length (400 when animal is dog)
2)
/dogs/{animalId}/tail-length
/birds/{animalId}/wings-length
3)
/animals?type=dog/{animalId}/tail-length
/animals?type=bird/{animalId}/wings-length
Run Code Online (Sandbox Code Playgroud)
假设不同子类之间不存在 ID 串通,我会推荐以下内容。
GET /animals/:id
有了这样的回应。(这个例子是 JSON,但也可以很容易地是 XML/等)
{
"id": "xyz",
"type": "dog",
"tailLength" 400
}
Run Code Online (Sandbox Code Playgroud)
这使它保持简单和宁静。
| 归档时间: |
|
| 查看次数: |
834 次 |
| 最近记录: |