Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web services 用于验证参数的Web服务API,REST还是其他?_Web Services_Api_Rest - Fatal编程技术网

Web services 用于验证参数的Web服务API,REST还是其他?

Web services 用于验证参数的Web服务API,REST还是其他?,web-services,api,rest,Web Services,Api,Rest,我计划制作一个API(作为web服务)来验证用户输入 API从用户处获取3个参数作为输入,检查所有参数是否有效,然后将结果(例如:true或false)返回给用户 下面是API的大致草图(我怀疑这是RESTful的): 但在谷歌搜索了API设计和REST之后,我发现这个API设计有问题 根据,请求和响应是围绕资源的表示转移而构建的。但我正在制作的API与资源无关。它不会破坏任何资源。API所做的只是获取输入、验证输入并返回结果。我一直坚持按照这个要求设计API 欢迎对此问题提出任何建议/更正。您

我计划制作一个API(作为web服务)来验证用户输入

API从用户处获取3个参数作为输入,检查所有参数是否有效,然后将结果(例如:true或false)返回给用户

下面是API的大致草图(我怀疑这是RESTful的):

但在谷歌搜索了API设计和REST之后,我发现这个API设计有问题

根据,请求和响应是围绕资源的表示转移而构建的。但我正在制作的API与资源无关。它不会破坏任何资源。API所做的只是获取输入、验证输入并返回结果。我一直坚持按照这个要求设计API


欢迎对此问题提出任何建议/更正。

您认为您的问题更适合RPC样式,这是正确的,但是它可以很容易地映射到REST。我会这样做:

REST中经常使用POST方法来创建新资源。此新资源的表示将发布到表示相同类型资源集合的URL。如果操作成功,则返回HTTP状态代码“201 Created”,并在resose主体中表示(基本上与post中发送的消息主体相同)。返回的Content Location标头显示分配给新资源的URL。如果操作失败,消息体中将显示“400错误请求”状态代码和更详细的人类可读错误描述

如您所见,验证已经是这个常见REST模式的一部分。据我所知,您的情况的唯一区别是您不想在服务器上创建(记住)此资源。所以不要。休息并不是说你必须。如果您觉得更简单,那么可以想象资源确实是临时创建的,但之后会立即删除。如果参数通过验证,则返回状态代码“200 OK”,并返回消息正文中的参数。否则返回“400错误请求”

如果动词“validate”在URL中困扰您(它不应该),请将URL命名为其他名称,可能是由三个参数组成的对象的合适名称

希望这有帮助

费伦茨·米哈利

URL: http://my.domain.com/validate/v1 (POST)
Required parameter: param1, param2, param3
Result: To response body (XML/JSON) or response header (HTTP status)