Swagger编辑器显示“无法获取”错误

时间:2017-05-18 08:26:22

标签: swagger swagger-2.0 swagger-editor

我也遇到了像M.Shute这样的类似问题,但不同的是,我完全控制了我的服务器端代码。当我复制Swagger编辑器提供的Curl请求并在CMD中运行它时,它会返回我期望的值。

-X POST "http://localhost:3000/users/register" -H "accept: application/xml" -H "content-type: application/json" -d "{ \"username\": \"Tester7\", \"password\": \"Tester7\"}" Successfully registered user!

我的API中没有任何securityDefinitions。我肯定会在快速代码中配置响应状态。

User.register(user, password, function(error, account) {
    if (error) {
            res.status(400).send(error);
        }
        else {
            res.status(200).send('Successfully registered user!');
        }
});

每次执行swagger测试时,控制台值都是

OPTIONS /users/register 200 4.040 ms - 4

为什么招摇使用选项方法,我该如何解决?

1 个答案:

答案 0 :(得分:0)

Cross-origin resource sharing似乎存在一些问题。

我设置了响应的标题来弄明白。

app.use((req, res, next) => {
  res.setHeader('Access-Control-Allow-Origin', 'http://petstore.swagger.io');
  res.setHeader('Access-Control-Allow-Methods', 'GET, POST, DELETE, PUT, PATCH, OPTIONS');
  res.setHeader('Access-Control-Allow-Headers', 'Content-Type, api_key, Authorization');
  next();
});