[英]REST API: Design API to let user submit POST something and GET some value other than created Id in response
它有点冗长,但易于理解,因此请阅读。
我们有一个反馈表,用户可以在其中填写投诉/建议。 要填写投诉,用户需要填写他/她的{姓名,手机号码,邮政编码}。 针对此投诉,我们会根据用户的个人识别码显示我们最近的呼叫中心号码。
用户提交反馈[名称,手机,邮政编码]后,完整的过程为:
这个过程需要跨平台(移动,桌面,应用程序)集成,我们需要为此设计Restful API。 几种选择:
这3个中的哪一个是正确的,或者有第四种方法可以解决此问题?
我实际上喜欢第三个选项。 发帖失败不应该影响正确联系最近的呼叫中心的能力吗? 失败的帖子在第二个选项中也是一个问题。 这些呼叫中心应该已经在数据库中。 我确定您会有一些代码/子例程来计算任何给定的邮政编码和所有呼叫中心之间的最短距离。 在第三个选项中,即使不会在失败的帖子中提出投诉,至少用户也可以获取最近的呼叫中心的号码以继续获得帮助
教人钓鱼:几乎每个问题都以“ REST是X的方式是什么?”的形式出现。 答案是“找出如何使用html链接和表单,并尽可能地匹配该模式。”
这里的问题是,按照其他方式,我们在POST响应中发回新创建的对象
如果那不是真的,那会让您的生活更轻松吗? 如果是这样,那么好消息。
REST没有说“创建”。 它说资源应该符合统一的接口。
如果您通过http(s)与API通信,则统一接口由RFC 7231定义(不是REST; REST是一种体系结构样式,Web是使用该样式构建的参考应用程序)。
HTTP并不表示POST必须等于create。
POST方法要求目标资源根据资源自身的特定语义来处理请求中包含的表示形式。
行动状态或结果的表示
对于您而言,您的行为状态是“恭喜,我们尝试找到离您最近的护理中心成功。这是...。”是的,这与您在以下位置创建投诉记录无关数据库。 从Web客户端的角度来看, 没有数据库 。 只是资源和统一的界面。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.