REST—资源的可寻址性(组合、集合)
我正在设计一个REST—资源的可寻址性(组合、集合),rest,api-design,restful-url,Rest,Api Design,Restful Url,我正在设计一个REST-API,目前我遇到了以下问题。例如,我得到了以下结构: /foods/fruits/{fruit} /foods/meat/{meat} 例如: /foods/fruits/apple /foods/fruits/pineapple /foods/meat/chicken 每个端点都是唯一的(只有一个苹果,一只鸡),但是可以存在不同种类的水果(例如菠萝)。 但是,我的服务也需要返回 一种特定的水果(苹果) 所有水果(收集资源包含所有可访问的水果-->苹果、菠萝) 或
REST-API
,目前我遇到了以下问题。例如,我得到了以下结构:
/foods/fruits/{fruit}
/foods/meat/{meat}
例如:
/foods/fruits/apple
/foods/fruits/pineapple
/foods/meat/chicken
每个端点都是唯一的(只有一个苹果,一只鸡),但是可以存在不同种类的水果(例如菠萝)。
但是,我的服务
也需要返回
- 一种特定的水果(苹果)
- 所有水果(收集资源包含所有可访问的水果-->苹果、菠萝)
- 或整个食物(水果和肉类收集资源的组成)
通过这种设计,我的资源可以寻址大约3个uri
(组合、集合、端点
),但它的最大值应该是2。
这是一个restful设计吗?看看,您可以拥有一个通用的食物资源和端点,具有类型和名称等属性,然后您的需求可以像这样访问:
GET/api/food?name=apple
GET/api/food?type=水果
GET/api/food
查看,您可以拥有一个通用的食品
资源和端点,具有类型和名称等属性,然后您的需求将可以如下访问:
GET/api/food?name=apple
GET/api/food?type=水果
GET/api/food
通过这种设计,我的ressource可以寻址大约3个URI(组合、集合、端点),但它的最大值应该是2。这是一个宁静的设计吗
您能为指南提供一个参考,它应该是最大值2吗
但无论哪种方式-这三个URI不是同一资源的三个不同URI,而是三个不同的资源:
食物资源
一种特殊类型的食物的集合
一种特殊的食物
虽然早期资源可以被认为是由其他资源组成,但这并不意味着最细粒度(特定类型,例如苹果)可以通过3个URI寻址
如果您使用的是超媒体格式,例如您的合成表示,则可以使用嵌入式资源,这清楚地表明,所包含的资源也可以通过其自己的端点直接使用
通过这种设计,我的ressource可以寻址大约3个URI(组合、集合、端点),但它的最大值应该是2。这是一个宁静的设计吗
您能为指南提供一个参考,它应该是最大值2吗
但无论哪种方式-这三个URI不是同一资源的三个不同URI,而是三个不同的资源:
食物资源
一种特殊类型的食物的集合
一种特殊的食物
虽然早期资源可以被认为是由其他资源组成,但这并不意味着最细粒度(特定类型,例如苹果)可以通过3个URI寻址
如果您使用的是超媒体格式,例如您的作文表达,则可以使用嵌入式资源,这清楚地说明所包含的资源也可以通过其自己的端点直接使用。没有人有想法?没有人有想法?谢谢您的回答。我想这可能会有帮助。谢谢你的回答。我想这可能会有帮助。