首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在swagger文档中实现一个void

在swagger文档中实现一个void
EN

Stack Overflow用户
提问于 2015-12-11 23:16:41
回答 2查看 1.8K关注 0票数 4

我不知道如何在node中实现swagger函数(使用swagger-node-express项目),只返回响应代码

例如,对于这个swagger路径:

代码语言:javascript
复制
/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

我想寄一封回信。

如果我尝试

代码语言:javascript
复制
res.json(200);

代码语言:javascript
复制
res.sendStatus(200);

甚至是

代码语言:javascript
复制
res.sendStatus();

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

如果我在swagger编辑器中发送

代码语言:javascript
复制
res.json()

并且我得到一个void不允许一个值

我觉得我没有其他选择可以尝试,所以我真的需要一些输入。

EN

回答 2

Stack Overflow用户

发布于 2017-02-04 19:23:53

最终找出错误的问题是什么:

响应验证失败:无效不允许值

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

代码语言:javascript
复制
responses:
  '200':
    description: OK

swagger不知道它应该发送什么样的响应。我们需要显式指定响应的模式,如下所示,以表示有效的响应类型。

代码语言:javascript
复制
responses:
  200:
    description: Success
    schema:
      title: reset
      properties:
        message:
          type: string
票数 2
EN

Stack Overflow用户

发布于 2015-12-19 03:03:50

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

代码语言:javascript
复制
res.writeHead(code, message);
res.end();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34226739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档