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 🤖