Мне было интересно, если бы кто-то делал это раньше, когда они генерируют документы API, используя интерфейс Swagger для API, также не созданный Swagger. Вот что простой пример шахты выглядит следующим образом:Интерфейс Swagger UI для Rails API с помощью Serializer ActiveModel
class Api::V1::UsersController < Api::V1::BaseController
swagger_controller :users, 'Users'
swagger_api :show do
summary 'Returns a user'
param :path, :id, :integer, :optional, "User Id"
notes '/api/v1/users/:id'
response :ok, "Success", :Users
response :unauthorized
response :not_acceptable
response :not_found
end
def show
user = User.find(params[:id])
render(json: Api::V1::UserSerializer.new(user).to_json)
end
end
Я генерироваться чванства документы с rake swagger:docs
и может достигать http://localhost:3000/api-docs.json
просто отлично, где я вижу в документации Users#show
, но когда я нажимаю «Попробуйте!» , я получаю ошибку недостающий шаблон для api/v1/users/show
api-docs.json
:
{
"apiVersion": "1.0",
"swaggerVersion": "1.2",
"basePath": "http://localhost:3000",
"apis": [
{
"path": "/api/v1/users.{format}",
"description": "Users"
}
],
"authorizations": null
}
users.json
:
{
"apiVersion": "1.0",
"swaggerVersion": "1.2",
"basePath": "http://localhost:3000",
"resourcePath": "users",
"apis": [
{
"path": "/api/v1/users/{id}.json",
"operations": [
{
"summary": "Returns a user",
"parameters": [
{
"paramType": "path",
"name": "id",
"type": "integer",
"description": "User Id",
"required": false
}
],
"notes": "/api/v1/users/:id",
"responseMessages": [
{
"code": 200,
"responseModel": "Users",
"message": "Success"
},
{
"code": 401,
"responseModel": null,
"message": "Unauthorized"
},
{
"code": 404,
"responseModel": null,
"message": "Not Found"
},
{
"code": 406,
"responseModel": null,
"message": "Not Acceptable"
}
],
"nickname": "Api::V1::Users#show",
"method": "get"
}
]
}
],
"authorizations": null
}
Как я могу вынести правильный ответ на мое шоу метода так, что он ищет сериализованный JSON, а не вид файл?
FYI, это использование драгоценности 'swagger-docs'. Вот [repo] (https://github.com/richhollis/swagger-docs). – gabe