执行服务器端验证的正确REST方法是什么?



如果我不想更新资源,但是我只想检查某些东西是否有效(在我的情况下是SQL查询),什么是正确的REST方法?

我还没有得到资源。我还没有(尚未提出),张贴或修补任何东西。我只是将部分发送回来以进行验证,以进行验证,只有服务器才能做。另一个同等的是检查密码是否符合仅由域才能知道的复杂性要求,或者也许还有其他用例。

发送对象,验证,返回响应,继续表格。使用休息。有任何想法吗?我想念什么吗?

执行服务器端验证的正确REST方法是什么?

询问表示形式是否为有效应该对服务器没有副作用;因此应该是安全的。

如果您要验证的表示形式可以在URI中表达,那么您应该更喜欢使用Get,因为它是最简单的选择,并为您提供缓存答案的最佳语义。例如,如果我们试图使用网站为文本创建验证API(例如XML或JSON验证器),那么我们可能会具有带有文本区域控制的表单,并构造我们的标识符需要处理表单输入。

如果您要验证的表示形式不能在URI中表达,那么您将需要将其放入消息主体中。

RFC 7231定义的方法,仅帖子是合适的。

在本规范范围之外的其他方法已被标准化,用于HTTP。所有此类方法都应在"超文本转移协议(HTTP)方法注册表中"中注册。由IANA维护,如第8.1节所述。

HTTP方法注册表为您提供了很多选择。对于这种情况,除非您找到一个完美的匹配,否则我不会打扰他们,或者是接受身体并且足够接近的安全方法。

so 也许报告,在RFC 3253中定义;我倾向于避开WebDav方法,因为我不愿意为"远程Web内容创作操作"扩展规格。在他们的职责之外。

tldr;关于通过REST创建验证终点的主题有一个重复的问题:

在您的情况下,请求似乎足够了。

HTTP GET方法用于读取(或检索)资源的表示。在"快乐"(或非错误)路径中,获得XML或JSON中的表示形式以及200(OK)的HTTP响应代码。在错误情况下,它通常返回404(未找到)或400(不良请求)。

restapitorial.com

用于验证您的SQL查询,您可以使用GET请求使用查询参数来获取您的查询的有效状态。

get:api/validatequery?query =" select * from table"

返回:

  • 200 ok ):有效查询
  • 400 畸形):无效查询
  • 404 找不到):查询有效,但返回没有结果(如果您打算执行查询)

我认为这种类型的端点是最好的。如规格所定义的,邮政请求可用于

提供数据处理过程的数据块,例如输入HTML表单的字段

对我而言,根据另一帖的使用,基于复杂性&SQL查询的任意性。

最新更新