4

我不知道如何在仅返回响应代码的节点中实现 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 编辑器中收到 parseerror

res.json()

我得到一个 void 不允许值

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

4

2 回答 2

2

终于弄清楚错误的问题是什么:

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

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

responses:
  '200':
    description: OK

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

responses:
  200:
    description: Success
    schema:
      title: reset
      properties:
        message:
          type: string
于 2017-02-04T11:23:52.910 回答
0

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

res.writeHead(code, message);
res.end();
于 2015-12-18T19:03:49.970 回答