首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有自定义配置的没有加载参数的Swagger

具有自定义配置的没有加载参数的Swagger
EN

Stack Overflow用户
提问于 2015-12-16 08:02:18
回答 1查看 2.8K关注 0票数 3

我在节点应用程序中使用了自定义配置和目录结构的Swagger。

这里是我的app.js片段

代码语言:javascript
运行
复制
var swaggerConfig = {
  appRoot: config.get('app_root'),
  configDir: 'swagger/config',
  swaggerFile: 'swagger/api.yaml'
};

SwaggerExpress.create(swaggerConfig, function(err, swaggerExpress) {
  if (err) { throw err; }
  swaggerExpress.register(app);
});

在配置swagger/config目录下具有标准的YAML配置default.yml

代码语言:javascript
运行
复制
# swagger configuration file

# values in the swagger hash are system configuration for swagger-node
swagger:

  fittingsDirs: [ app/fittings ]
  defaultPipe: null
  swaggerControllerPipe: swagger_controllers  # defines the standard processing pipe for controllers

  # values defined in the bagpipes key are the bagpipes pipes and fittings definitions
  # (see https://github.com/apigee-127/bagpipes)
  bagpipes:

    _router:
      name: swagger_router
      mockMode: false
      mockControllersDirs: [ app/mocks ]
      controllersDirs: [ app/controllers ]

    _swagger_validate:
      name: swagger_validator
      validateResponse: true

    # pipe for all swagger-node controllers
    swagger_controllers:
      - onError: json_error_handler
      - cors
      - swagger_security
      - _swagger_validate
      - express_compatibility
      - _router

    # pipe to serve swagger (endpoint is in swagger.yaml)
    swagger_raw:
      name: swagger_raw

# any other values in this file are just loaded into the config for application access...

现在,在控制器上出现问题时,req.swagger.params总是返回null

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-16 08:06:31

从文档中可以看出这一点,但您还需要将swagger_params_parser添加到default.yaml中的swagger_controllers部分。

代码语言:javascript
运行
复制
  bagpipes:

    _router:
      name: swagger_router
      mockMode: false
      mockControllersDirs: [ api/mocks ]
      controllersDirs: [ api/controllers ]

    _swagger_validate:
      name: swagger_validator
      validateResponse: true

    # pipe for all swagger-node controllers
    swagger_controllers:
      - swagger_params_parser
      - cors
      - swagger_security      
      - _swagger_validate      
      - _router
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34306720

复制
相关文章

相似问题

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