Pular para o conteúdo principal

API

Nesta seção, você encontra detalhes sobre API no Catálogo de Serviços.


Sobre APIs na StackSpot

Na StackSpot, uma API é uma Aplicação que fica disponível no Catálogo de APIs após ser criada e implantada.

Você pode criar APIs de duas maneiras:

  • Code based: a API é criada automaticamente a partir do código.
  • Contract based: a API é criada manualmente a partir de um contrato.

No Catálogo, você pode visualizar:

  • Todas as APIs disponíveis na sua conta.
  • Os ambientes associados a cada API.
  • A versão de cada API.
  • A documentação das APIs.

Cada API pode ter um destes status:

  1. Rascunho (Draft): a API aparece apenas para o Workspace que a criou. Pode ser publicada por qualquer membro desse Workspace, mas não fica visível para toda a organização.
  2. Publicada (Published): a API fica visível para toda a organização no Catálogo.
  3. Despublicada (Unpublished): a API não aparece mais no Catálogo e não pode ser publicada novamente. Ela pode ser vista apenas no histórico.
Dica!

As referências de API já estão prontas para uso.

Exemplo

Confira o exemplo de conteúdo de API para um arquivo no padrão OpenAPI 3.0, que tem os métodos de GET, POST, PUT e DELETE. Este arquivo é responsável pela "materialização" de uma API no Catálogo de Serviços.

openapi: 3.0.0

info:
title: Minha API
description: Esta é a minha API
version: 1.0.0

paths:
/users:
get:
operationId: getUser
description: Obtém um usuário
responses:
'200':
description: Usuário encontrado
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'404':
description: Usuário não encontrado
post:
operationId: createUser
description: Cria um usuário
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/User'
responses:
'201':
description: Usuário criado
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'400':
description: Dados inválidos
/users/{userId}:
get:
operationId: getUserById
description: Obtém um usuário pelo ID
parameters:
- in: path
name: userId
schema:
type: integer
required: true
responses:
'200':
description: Usuário encontrado
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'404':
description: Usuário não encontrado
put:
operationId: updateUser
description: Atualiza um usuário
parameters:
- in: path
name: userId
schema:
type: integer
required: true
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/User'
responses:
'200':
description: Usuário atualizado
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'400':
description: Dados inválidos
delete:
operationId: deleteUser
description: Exclui um usuário
parameters:
- in: path
name: userId
schema:
type: integer
required: true
responses:
'204':
description: Usuário excluído
'404':
description: Usuário não encontrado

components:
schemas:
User:
type: object
properties:
id:
type: integer
example: 1
name:
type: string
example: João da Silva
email:
type: string
example: joao.da.silva@example.com
phone:
type: string
example: (11) 9999-9999
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
Dica!

Este é apenas um exemplo. Você pode personalizá-lo de acordo com as necessidades da sua API.

Próximos Passos