Grape-Swagger не перечисляет методы, содержащиеся в API на основе винограда

Я использую гем grape-swagger и не могу получить гем на основе Grape API правильно описан в Swagger. Использование: 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": {}
}

Я также добавил CORS Allowance в config.ru следующим образом:

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

Любая подсказка о том, как получить методы для каждой конечной точки, указанной внутри?


person Jorge Diaz    schedule 19.05.2015    source источник


Ответы (1)


Swagger 1.2 работает не так.

Предполагая, что вы получили вышеуказанный JSON в /api-docs, попробуйте открыть, например, /api-docs/version.json, чтобы увидеть операции для version. Конечно, если он не размещен под /api-docs, просто замените эту часть любым фактически используемым сегментом пути.

person Ron    schedule 19.05.2015
comment
По какой-то глупой причине я полностью ожидал единого JSON-файла ответа. Теперь все имеет смысл, и swagger-ui отлично работает с этим выводом. Спасибо! - person Jorge Diaz; 19.05.2015
comment
Что бы это ни стоило, Swagger 2.0 действительно представляет собой один файл. Неизвестно, когда грейп-чванство выпустит его поддержку, но вы должны быть начеку. - person Ron; 19.05.2015
comment
Приятно знать, что Swagger 2.0. Я предполагаю, что подход с несколькими файлами пришел из дней WSDL, что-то вроде этого, и его можно как-то назвать XML-предшественником Swagger. - person Jorge Diaz; 14.10.2015