如何解决取决于get参数的不同响应格式
A有一个实体,但是我需要用两种非常不同的方式来表示它。现在,过滤器似乎也有所不同,但是我想到了未来,并且不想从一开始就复制端点。所以我想到了一个端点。
但是对于api客户端来说似乎还不清楚,不是吗?
例如,对用户/合作伙伴的请求应给出一个数据响应,而对用户/合作伙伴的?custom = true给出另一个响应数据。我的意思是没有不同的属性,可以通过查询“ fields = attribute1,attribute2”来完成。我的意思是它们具有不同的实体格式,可以具有相同或不同的属性以及相同或不同的表示形式。例如,第一个请求的属性username可以仅返回登录名,而第二个请求的属性username则返回子属性数组。
那么在一个端点中具有不同的响应格式是个好主意,还是应该从一开始就将它们分开?
解决方法
那么在一个端点中具有不同的响应格式是个好主意,还是应该从一开始就将它们分开?
通用HTTP客户端不关心“端点”。
/abcde
/abcde?format=text
/abcde?format=json
就通用客户端而言,它们是区别标识符,用于查找区别资源(也称为“文档”)。
对这些资源的请求是否由相同的“端点”处理只是实现细节。从外部看,每个资源是否都有自己的终结点,或者某些资源共享一个终结点,或者所有资源使用相同的终结点,都没有关系。
这意味着判断是否共享端点是一个好主意,这取决于平衡其他因素
- 哪种拼写产生更高的内部代码质量(这将在某种程度上取决于您的路由框架使用的惯用法)
- 哪种拼写更便于操作员查看访问日志
- 哪种拼写更适合文档
人机界面中的正确答案很可能取决于这些资源如何适合领域(是公共文档的真正变体吗?还是只是从公共数据集派生而来的不同文档? )。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。