已关闭。此问题为opinion-based。当前不接受答案。
**想要改进此问题吗?**请更新此问题,以便editing this post可以用事实和引文来回答。
4天前关闭。
Improve this question
我有一个叫做客户的实体,一个叫做制造商的实体,它们都有一个businessTypeId。
视图上传递的模型不包含businessTypes的整个列表(大约30 k),单击下拉列表时会加载businessTypes列表。
有些业务类型对厂商不可用,有些业务类型对客户不可用。
就服务于业务类型列表的端点而言,您认为最佳实践是什么?
每个控制器上的两个端点使用实体ID来了解当前选择的是哪个端点
- /客户端/{id}/业务类型
- /制造商/{id}/业务类型
这一点很清楚,但我感觉它阻碍了DRY概念的发展(即使在后台共享了一个businesstype存储库),而且嵌套的集合越多,我需要的端点就越多
businesstypes控制器上的一个端点,并添加路由起点两个能够过滤结果
- /业务类型?来源={实体}&ID={ID}
然后,端点只被创建一次,但是每次将新实体链接到businessTypes时,端点都会变得越来越复杂
"更好的第三个主意"
1条答案
按热度按时间bf1o4zei1#
选项1:将业务类型拆分为
ClientBusinessTypes
和ManufacturerBusinessTypes
,这两个类型继承自一个公共类,以便基于基类处理显示逻辑,并在继承级别处理获取。选项2:您所描述的独立端点。我将向数据集添加一个'BusinessTypeCategory'值,这样您的逻辑就不会变得更复杂,它只会在'where Category = origin'语句中使用
origin
参数,并且不可知任何新的BusinessTypeCategory。