Esta API Rest foi desenvolvida em PHP sem a utilização de dependências externas, utilizando apenas PHP puro. Ela oferece várias funcionalidades, incluindo rotas dinâmicas, paginação, validação de entrada de dados, tratamento de exceções, environment para guardar dados senvíveis e o uso de middleware para autenticação do usuário. Com esta API, é possível realizar operações básicas em um sistema de gerenciamento de usuários, como listar todos os usuários com paginação, visualizar informações de um usuário específico, criar novos usuários, atualizar e deletar.
- Listar todos os usuários com paginação.
- Listar apenas um usuário.
- Criar um novo usuário.
- Atualizar um usuário.
- Deletar um usuário.
CREATE TABLE users (
id INTEGER PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
- Clone o repositório: .
- Navegue até o diretório
api-php
. - Renomei o arquivo
.env.example
para.env
e coloque as informações do seu banco de dados. - Atualize o composer com
composer du
. - Inicie o servidor com
php -S localhost:8000 -t public
. - Acesse
http://localhost:8000/
Listar todos os usuários com paginação
GET /users
Exemplo de requisição:
GET /users?per_page=4&page=6
Visualizar um usuário
GET /users/{id}
Exemplo de requisição:
GET /users/31
Cadastrar novo usuário
POST /users
Exemplo de requisição:
{
"name": "Tiago Oliveira",
"email": "tiago@mail.com",
"password": "12345678"
}
Atualizar um usuário
PUT /users/{id}
Exemplo de requisição:
PUT /users/32
{
"name": "Tiago Oliveira",
"email": "tiagooliveira@mail.com",
"password": "12345678"
}
Deletar um usuário
DELETE /users/{id}
Exemplo de requisição:
DELETE /contas/32
- Certifique-se de ter o PHP e MySQL instalados em seu ambiente.
- Esta API foi desenvolvida com foco na simplicidade, utilizando apenas recursos nativos do PHP para demonstrar conceitos fundamentais de construção de APIs.
- Sinta-se à vontade para explorar, modificar e expandir esta API conforme suas necessidades específicas.