marlon33/api-crud-post-blog

dev-main 2021-04-26 14:59 UTC

This package is not auto-updated.

Last update: 2024-11-05 06:30:21 UTC


README

API RESTful CRUD post para blog, usando Slim PHP micro framework e MongoDB

Used technologies: PHP 7, Slim 4, MongoDB, PHPUnit, dotenv.

INSTALAÇÃO:

composer require marlon33/api-crud-post-blog

Requisitos:

  • Composer.
  • PHP 7.4+.
  • mongoDB.

Composer:

Baixe o repositório ou clone ele: Dependencias

composer require slim/slim:"^4.5"
composer require mongodb/mongodb
composer require slim/psr7
composer require vlucas/phpdotenv
composer require pimple/pimple
composer require phpunit/phpunit --dev
composer require firebase/php-jwt
composer require tuupola/slim-jwt-auth

Configure a conexão com o MongoDB:

Api utiliza por padrão o MongoDB

Você deve configurar corretamente o arquivo .env conforme abaixo: Você pode utilizar o https://mlab.com/plans/pricing/#plan-type=sandbox como banco de dados, versão gratuita.

mongodb+srv://<NameUser>:<password>@cluster0.ng1wy.mongodb.net/<COLLATION>?retryWrites=<TRUE/FALSE>&w=majority
MongoDB_HOST = '<NameUser>:<password>@cluster0.ng1wy.mongodb.net/'
MongoDB_COLLATION = <COLLATION>
MongoDB_RETRY_WRITES = '<TRUE/FALSE>'
MongoDB_W = 'majority'

DISPLAY_ERROR_DETAILS=true
SLIM_BASE_PATH=''

DISPLAY_ERROR_DETAILS deve ser false em produção, true somente em desenvolvimento.

Rotas:

PADRÃO:

  • GET /api/api Verifica a o estado da API e sua versão

  • GET /api/status Verifica a o status da API e sua versão

CRUD:

  • GET /api/posts Busca todos os posts e retorna um array
  • POST /api/posts Cria um post e retorna array contendo o STATUS e o ID
  • GET /api/posts/{id} Busca o post pelo {id} e retorna um objeto
  • PUT /api/posts/{id} Busca o post pelo {id} atualiza o post e retorna um objeto
  • POST /api/token Busca token
  • POST /api/register Cadastra novo usuario

DOCUMENTAÇÃO OFICIAL

DOCUMENTAÇÃO API