Swagger API"必需" - 需要多少钱?

时间:2015-09-30 21:42:43

标签: node.js api express swagger

我已经使用此规范创建了Swagger(在nodejs / express上)测试API(仅限相关部分):

...
parameters:
  - name: name
    in: query
    required: true
    type: string
...

但我可以用空参数调用网址,例如

的http://本地主机/测试名称=

它没有任何问题,没有任何异常或任何其他迹象。为什么呢?

1 个答案:

答案 0 :(得分:1)

如果我通过卷曲或邮递员从终端拨打类似的电话,它也可以。我从请求对象中解析了查询,发现在这种情况下,查询参数被解释为空字符串。

通过SwaggerUI进行调用是不同的,因为UI实际上不会进行调用,除非查询字段具有值。

尝试在处理程序中执行console.log(req.query);。您可能会看到{name: ''}。哪个是合法的,只是name的值是一个空字符串。

在这里查看JSON4:Representing null in JSON。因此,名称已定义,但它是空的。

您可能需要检查空字符串值。

我希望这有帮助!