ruby-on-rails – 尽管工作API,Swagger-ui只发送OPTIONS而不是POST http方法

我正在使用Swagger-UI浏览我自己的API,用葡萄构建并自动记录葡萄招摇.

我用Google搜索并尝试了我能找到的所有建议,但我无法让POST工作.这是我的标题

header "Access-Control-Allow-Origin","*"
  header "Access-Control-Allow-Methods","POST,GET,OPTIONS,PUT,PATCH,DELETE"
  header "Access-Control-Request-Method","*"
  header "Access-Control-Max-Age","1728000"
  header "Access-Control-Allow-Headers","api_key,Content-Type"

我只是扔了一切建议.我已经在supportedSubmitMethods中启用了所有HTTP方法,并且我使用POSTMAN Chrome扩展程序测试了API,它运行良好.正确创建用户并返回正确的数据.

然而,我得到的所有swagger帖子都是服务器报告:

Started OPTIONS "/v1/users.json" for 127.0.0.1 at 2012-12-21 04:07:13 -0800

和swagger的反应看起来像这样:

请求网址

http://api.lvh.me:3000/v1/users.json

响应机构

响应代码

0

响应标题

我还用POSTMAN测试了OPTIONS响应,如下所示:

Allow →OPTIONS,POST
Cache-Control →no-cache
Date →Fri,21 Dec 2012 12:14:27 GMT
Server →Apache-Coyote/1.1
X-Request-Id →9215cba8da86824b97c6900fb6d97aec
X-Runtime →0.170000
X-UA-Compatible →IE=Edge

解决方法

我有同样的问题,只是解决了,希望这有助于某人.

Swagger-UI仅通过POST形式接受多个参数,而不是’body’paramType,在本期https://github.com/wordnik/swagger-ui/issues/72中引用.

我使用了分支:git => ‘git://github.com/Digication/grape-swagger.git’将’post’请求paramType更改为’form’.为swagger_doc生成的xml输出(可能在path / swagger_doc / api或类似地方)应如下所示:

<api>
  <path>/api/v2/...</path>
    <operations type="array">
      ...
      <httpMethod>POST</httpMethod>
        <parameters type="array">
          <parameter>
            <paramType>form</paramType>
            ...More

<paramType>body</paramType>
...More

我使用grape-swagger-rails gem在localhost上自动安装swagger-ui(文件也可以从swagger-ui网站下载),一切正常!

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...