[go: up one dir, main page]

Skip to content

Build OpenAPI response handling

Overview

Implement the Response model and ResponseConverter to handle API response definitions. This includes extracting response metadata from various Grape patterns and mapping them to OpenAPI response objects.

  • Response model represents HTTP responses with status codes
  • ResponseConverter extracts responses from multiple Grape sources
  • HTTP status codes are properly mapped
  • Response descriptions are extracted or generated
  • Response schemas reference registered entities
  • Headers are extracted and included in responses
  • Multiple response codes per operation are supported
  • Default responses are generated when not specified
  • Content types are properly set (application/json by default)

Potential Examples

In most of our API endpoints, success is defined with an entity, and failures with HTTP status codes but this isn't universally true.

HTTP status codes

desc "Create user" do
  success code: 201, model: UserEntity
  failure code: 400, model: ErrorEntity, message: "Invalid input"
  failure code: [401, 403], message: "Unauthorized"
end

Entities

desc "Get user" do
  success UserEntity
  failure [[400, "Bad Request"], [404, "Not found"]]
end
Edited by 🤖 GitLab Bot 🤖