【发布时间】:2018-01-09 10:48:51
【问题描述】:
我们正在为我们的应用程序设计一个 REST API。在我们的前端,我们有一个账单信息表单,它提交到以下端点:POST /billing-information。但是,在提交表单之前,我们需要进行一些验证。
一些验证很简单(例如:输入长度、允许的字符),并通过 JS 在前端直接执行。其他验证更复杂,需要一些数据库交互。我们的业务流程要求我们在提交表单之前执行这些验证。
我的问题是,什么是 RESTful API 端点来对计费信息执行此类验证?我们考虑过POST /billing-information/validate,但在 REST API 的意义上它看起来并不多。这方面的最佳做法是什么?
【问题讨论】:
-
为什么不在同一个网络服务中进行验证。在提交账单信息之前检查所有验证,如果任何信息不正确,请不要继续并返回验证失败错误。
-
我们在开发webservice时遵循相同的结构。当我们收到请求时,我们将其发送给请求验证器。此请求验证器将检查请求中的逻辑和业务所需数据。如果缺少任何数据,并且该请求是必须填写的字段,那么我们将其返回为“错误请求”
-
验证是在同一个 Web 服务中执行的,只是我们无法为它想出一个 RESTful 端点命名。不确定我是否理解您的意思。
-
您的端点将是:POST /billing-information。在将详细信息保存到数据库之前或在其中执行任何业务逻辑之前,只会进行验证。希望我们俩都在同一条轨道上。
-
这也会发生,但我们的业务逻辑要求在用户点击提交按钮之前进行验证。
标签: rest api validation endpoint