Node.js Swagger无法向请求添加授权标头

时间:2020-09-30 19:15:25

标签: node.js swagger swagger-ui

我正在尝试使用Node.js Express服务器向Swagger UI添加授权标头。请求必须具有x-auth-token作为API的头之一才能获得身份验证。以下是我的app.js代码:

const swaggerDefinition = {
  info: {
    title: 'MySQL Registration Swagger API',
    version: '1.0.0',
    description: 'Endpoints to test the user registration routes',
  },
  host: 'localhost:8000',
  basePath: '/api/v1',
  securityDefinitions: {
    bearerAuth: {
      type: 'apiKey',
      name: 'x-auth-token',
      scheme: 'bearer',
      in: 'header',
    },
  },
};

const options = {
  // import swaggerDefinitions
  swaggerDefinition,
  // path to the API docs
  apis: ['dist-server/docs/*.yaml'],
};
// initialize swagger-jsdoc
const swaggerSpec = swaggerJSDoc(options);


// use swagger-Ui-express for your app documentation endpoint
app.use('/docs', swaggerUi.serve, swaggerUi.setup(swaggerSpec));

但是,这并未将标头添加到Swagger UI中的请求中。如何解决此问题?

1 个答案:

答案 0 :(得分:2)

将以下密钥添加到您的 try: return self[key] except KeyError: # <---- KeyError raised in __missing__ caught here return default

swaggerDefinition