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

Cha*_*yah 5 rest

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

我还没有获得资源(还没有)。我还没有放置、发布或修补任何东西(还)。我只是将表单的一部分发回进行验证,只有服务器才能这样做。另一个等效的方法是检查密码是否符合只能由域知道的复杂性要求,或者可能还有其他用例。

发送对象,验证,返回响应,继续表单。使用 REST。有任何想法吗?我错过了什么吗?

Voi*_*son 6

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

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

如果您想要验证的表示可以在 URI 中表达,那么您应该更喜欢使用GET,因为它是最简单的选择,并且为您提供了缓存答案的最佳语义。例如,如果我们尝试使用网站为文本(例如 XML 或 JSON 验证器)创建验证 api,那么我们可能会有一个带有文本区域控件的表单,并构造我们需要通过处理表单输入。

如果您要验证的表示无法在 URI 中表达,那么您将需要将其放入消息正文中。

RFC 7231定义的方法中,只有POST是合适的。

超出本规范范围的其他方法已标准化以用于 HTTP。所有这些方法都应该在 IANA 维护的“超文本传输​​协议 (HTTP) 方法注册表”中注册,如第 8.1 节中所定义。

HTTP方法注册为您提供了很大的选择空间。对于这种情况,除非您找到完美匹配或接受主体且足够接近的安全方法,否则我不会打扰它们。

所以也许 REPORT,它是在RFC 3253 中定义的;我倾向于避开WebDAV方法,因为我不习惯将“远程 Web 内容创作操作”的规范扩展到其职权范围之外。