Как удалить поле «схема» из поля «ответы» в автоматически сгенерированном документе Swagger с помощью grape-swagger

#ruby #swagger #grape-entity

#рубин #развязность #виноград-сущность

Вопрос:

У меня есть конечная точка с этим кодом:

 resource :templates do  desc 'Add a template for documents' do  success Entities::Template.add_success  failure Entities::Template.add_fail  end  

Объект шаблона с этим кодом (среди прочего):

 def self.add_success  { examples: { 'application/json' =gt; Entities::Response.parse(201, 'succesful added', '{template_id: 1}') } } end  def self.add_fail  [Entities::Response.parse(422, 'ALREADY_REGISTERED_TEMPLATE')] end  

и объект ответа с этим кодом:

 def self.parse(code, message, data = '')  case code  when 200...300  represent({ code: code, status: 'success', data: data }).as_json  when 400...600  represent({ code: code, status: 'fail', message: message }).as_json  endo end  

Автоматически сгенерированный документ Swagger содержит поле «схема» для ответов на отказ, как вы могли видеть:

 "responses": {  "201": {  "description": "Add a template for documents",  "schema": {  "$ref": "#/definitions/Template"  },  "examples": {  "application/json": {  "code": 201,  "status": "success",  "data": "{template_id: 1234}"  }  }  }, "422": {  "description": "ALREADY_REGISTERED_TEMPLATE",  "schema": {  "$ref": "#/definitions/Template"  } } },  

Я упростил информацию об ответе 422, чтобы удалить поле «схема», но оно продолжает появляться. Как я могу удалить его динамически.