我正在使用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网站下载),一切正常!