</>
API Biblioteca Universitária
Verificando API...
Desenvolvimento de Sistemas Distribuídos

API REST da Biblioteca Universitária

Ambiente acadêmico para consulta e teste de operações relacionadas a livros, usuários e empréstimos. Utilize a documentação da API para conhecer os endpoints, parâmetros, corpos de requisição e respostas.

Base URL: /api

O que esta API disponibiliza?

Livros

Consulta, cadastro, atualização, exclusão e pesquisa de exemplares disponíveis.

Usuários

Cadastro e consulta dos usuários autorizados a realizar empréstimos na biblioteca.

Empréstimos

Realização e devolução de empréstimos com validação de disponibilidade e regras de negócio.

Primeiros passos com o Bruno

Use o Bruno para montar e enviar chamadas HTTP. No servidor local, a URL base é http://127.0.0.1:8000; acrescente /api para acessar as rotas.

1Configure a requisição

Escolha o método HTTP (GET, POST, PUT, PATCH ou DELETE) e informe a rota completa, como /api/livros.

2Defina os cabeçalhos

Envie Accept: application/json em todas as chamadas. Para POST e PUT com corpo, inclua também Content-Type: application/json.

3Consulte IDs

Faça GET em /api/livros e /api/usuarios para ver os registros e obter IDs válidos antes de criar um empréstimo.

4Envie e interprete

Confira o código HTTP e o corpo JSON retornados. Em respostas de validação, leia message e errors para corrigir os dados.

Alguns endpoints

GET /api/livros
GET /api/livros/disponiveis
POST /api/emprestimos
PATCH /api/emprestimos/{emprestimo}/devolver
Uso acadêmico: esta API foi preparada para atividades práticas de consumo de serviços REST. Consulte a documentação antes de realizar as requisições e observe atentamente os códigos HTTP retornados pela aplicação.

Exemplos de requisição

No Bruno, selecione o corpo em formato JSON para as operações POST. Troque os IDs de exemplo pelos IDs existentes na resposta da API.

Cadastrar livro · POST /api/livros

{
  "titulo": "Sistemas Distribuídos",
  "autor": "Andrew S. Tanenbaum",
  "isbn": "9788576051428",
  "ano": 2007,
  "quantidade": 3
}

Cadastrar usuário · POST /api/usuarios

{
  "nome": "Maria Oliveira",
  "email": "maria@email.com"
}

Realizar empréstimo · POST /api/emprestimos

{
  "usuario_id": 3,
  "livro_id": 8
}

Devolver · PATCH /api/emprestimos/31/devolver

// Troque 31 pelo ID do empréstimo.
// Não é necessário enviar corpo.

Entenda os códigos HTTP

200 OK

Consulta ou atualização concluída.

201 Created

Registro criado com sucesso.

204 No Content

Exclusão concluída, sem corpo na resposta.

404 Not Found

O recurso indicado pela rota não foi encontrado.

409 Conflict

Conflito com uma regra, como livro sem estoque.

422 Unprocessable Content

Dados inválidos; consulte os detalhes da validação no JSON.

Dica: um empréstimo exige IDs de usuário e livro existentes. A quantidade do livro representa os exemplares disponíveis; se estiver zerada, a API retorna conflito. A devolução usa o ID do empréstimo e não precisa de corpo JSON.