Skip to content

Instantly share code, notes, and snippets.

@GlauberF
Created June 5, 2025 13:38
Show Gist options
  • Save GlauberF/9a9e4f1ae517fd6ec17c43c80bf25cda to your computer and use it in GitHub Desktop.
Save GlauberF/9a9e4f1ae517fd6ec17c43c80bf25cda to your computer and use it in GitHub Desktop.
Arquivo exemplo openAPI para https://jsonplaceholder.org/, rota users
{
"openapi": "3.0.3",
"info": {
"title": "JSONPlaceholder Users API",
"description": "API para manipulação de usuários (CRUD) com busca por `id`",
"version": "1.0.0"
},
"servers": [
{
"url": "https://jsonplaceholder.org"
}
],
"paths": {
"/users": {
"get": {
"summary": "Lista todos os usuários ou realiza busca por ID",
"parameters": [
{
"name": "id",
"in": "query",
"required": false,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "Lista de usuários ou resultado da busca",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/User"
}
}
}
}
}
}
},
"post": {
"summary": "Cria um novo usuário",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/User"
}
}
}
},
"responses": {
"201": {
"description": "Usuário criado com sucesso",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/User"
}
}
}
}
}
}
},
"/users/{id}": {
"get": {
"summary": "Retorna um usuário pelo ID",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"200": {
"description": "Usuário encontrado",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/User"
}
}
}
},
"404": {
"description": "Usuário não encontrado"
}
}
},
"put": {
"summary": "Atualiza completamente um usuário",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/User"
}
}
}
},
"responses": {
"200": {
"description": "Usu\u00e1rio atualizado"
}
}
},
"patch": {
"summary": "Atualiza parcialmente um usuário",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
},
"responses": {
"200": {
"description": "Usuário atualizado parcialmente"
}
}
},
"delete": {
"summary": "Remove um usuário",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer"
}
}
],
"responses": {
"204": {
"description": "Usuário deletado com sucesso"
}
}
}
}
},
"components": {
"schemas": {
"User": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"firstname": {
"type": "string"
},
"lastname": {
"type": "string"
},
"email": {
"type": "string"
},
"phone": {
"type": "string"
},
"website": {
"type": "string"
}
},
"required": [
"firstname",
"lastname"
]
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment