我无法弄清楚如何在只返回响应代码的节点中实现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()
我得到一个空格不允许值
我觉得我没有选择尝试,所以我真的可以使用一些输入。
答案 0 :(得分:2)
最后找出了错误的问题:
响应验证失败:void不允许值
当你在swagger.yaml中有以下行时
inflate
swagger不明白它应该发送什么样的响应。我们需要明确指定响应模式,如下所示,说明有效的响应类型。
responses:
'200':
description: OK
答案 1 :(得分:0)
我发现当你只是编写一个头并以标准节点的方式结束连接时它会工作;
res.writeHead(code, message);
res.end();