在swagger文档中实现void

时间:2015-12-11 15:16:41

标签: javascript node.js swagger swagger-node-express

我无法弄清楚如何在只返回响应代码的节点中实现swagger(使用swagger-node-express项目)函数

例如,这个招摇路径:

/api/user/create:
x-swagger-router-controller: api
get:
  operationId: userCreate
  parameters:
    - name: username
      in: query
      description: The username of the user.
      required: true
      type: string
    - name: password
      in: query
      description: The password of the user.
      required: true
      type: string
    - name: email
      in: query
      description: The email of the user.
      required: true
      type: string
  responses:
    '200':
      description: OK
    '412':
      description: User already exists

我想发回信。

如果我尝试

res.json(200);

res.sendStatus(200);

甚至

res.sendStatus();

我收到错误:响应验证失败:void不允许值

如果我发送

,我会在swagger编辑器中得到一个解析错误
res.json()

我得到一个空格不允许值

我觉得我没有选择尝试,所以我真的可以使用一些输入。

2 个答案:

答案 0 :(得分:2)

最后找出了错误的问题:

  

响应验证失败:void不允许值

当你在swagger.yaml中有以下行时

inflate

swagger不明白它应该发送什么样的响应。我们需要明确指定响应模式,如下所示,说明有效的响应类型。

responses:
  '200':
    description: OK

答案 1 :(得分:0)

我发现当你只是编写一个头并以标准节点的方式结束连接时它会工作;

res.writeHead(code, message);
res.end();