执行服务器端验证的正确REST方法是什么?
如果我不想更新资源,但只想检查某些内容是否有效(在我的例子中是SQL查询),那么正确的REST方法是什么 我还没有得到资源。我还没有发布、发布或修补任何东西。我只是将表单的一部分发送回去进行验证,这只有服务器才能完成。另一个等价物是检查密码是否符合只有域才能知道的复杂性要求,或者可能存在其他用例 发送对象,验证,返回响应,继续表单。使用REST。有什么想法吗?我是不是遗漏了什么;关于通过REST创建验证端点的主题,有以下几个方面: 在您的情况下,GET请求似乎就足够了 HTTP GET方法用于读取(或检索)资源的表示形式。在“happy”(或non-error)路径中,GET返回XML或JSON表示形式和200(OK)的HTTP响应代码。在错误情况下,它通常返回404(未找到)或400(错误请求) 为了验证SQL查询,您可以使用GET请求来获取查询的有效状态,可能需要使用查询参数来实现这一点 GET:api/validateQuery=“从表中选择* 返回:执行服务器端验证的正确REST方法是什么?,rest,Rest,如果我不想更新资源,但只想检查某些内容是否有效(在我的例子中是SQL查询),那么正确的REST方法是什么 我还没有得到资源。我还没有发布、发布或修补任何东西。我只是将表单的一部分发送回去进行验证,这只有服务器才能完成。另一个等价物是检查密码是否符合只有域才能知道的复杂性要求,或者可能存在其他用例 发送对象,验证,返回响应,继续表单。使用REST。有什么想法吗?我是不是遗漏了什么;关于通过REST创建验证端点的主题,有以下几个方面: 在您的情况下,GET请求似乎就足够了 HTTP GET方法用于读
- 200(确定):有效查询
- 400(格式错误):查询无效
- 404(未找到):查询有效但不返回结果(如果您计划执行查询)
所以可能,这是定义在;我倾向于避开方法,因为我不喜欢将“远程Web内容创作操作”的规范延伸到他们的职权范围之外。GET在这里似乎是一个不切实际的解决方案,查询可能会很长很复杂,我不认为这是你想要进入URL的类型,出于各种原因。在这种情况下,在请求体中加密查询的POST请求似乎更合适。有一个端点可以确认数据库的内部结构,这会打开一整罐蠕虫,因此如果您担心安全性,我会确保为您的验证端点添加授权:是的,我会根据另一个答案倾向于POST。我并不真的担心(在本例中)包含查询的URL,但总体而言,POST似乎有更多的优势,更接近定义的用法。其他答案很好(如投票所示),但我认为这是最全面的。