0

gemを使用していgrape-swaggerますが、Swagger で適切に記述された Grape ベースの API を取得できません。使用:grape (0.11.0)およびgrape-swagger (0.10.1)

Swagger json リストを有効にすると、すべてのエンドポイントがリストされたこの出力が得られますが、各エンドポイントに含まれるメソッドはリストされません。

私の出力:

{
  "apiVersion": "v0",
  "swaggerVersion": "1.2",
  "produces": [
    "application/json"
  ],
  "apis": [
    {
    "path": "/version.{format}",
    "description": "Operations about versions"
    },
    {
    "path": "/ping.{format}",
    "description": "Operations about pings"
    },
    {
    "path": "/users.{format}",
    "description": "Operations about users"
    },
    {
    "path": "/company.{format}",
    "description": "Operations about companies"
    },
    {
    "path": "/merchants.{format}",
    "description": "Operations about merchants"
    }
  ],
  "info": {}
}

次のように config.ru に CORS Allowance も追加しました。

require 'rack/cors'
use Rack::Cors do
  allow do
    origins '*'
    resource '*',
      headers: :any,
      methods: [:get, :post, :put, :delete, :options]
  end
end

内部にリストされている各エンドポイントのメソッドを取得する方法の手がかりはありますか?

4

1 に答える 1

1

それは、Swagger 1.2 がどのように機能するかだけではありません。

上記の JSON を で取得したと仮定して、たとえば を/api-docs開いて の操作を確認してください。もちろん、 でホストされていない場合は、その部分を実際に使用されているパス セグメントに置き換えます。/api-docs/version.jsonversion/api-docs

于 2015-05-19T15:44:09.037 に答える