Essa é uma API REST de posts e comentários desenvolvida para fins de estudos.
- Ruby 3.0.5
- Rails 7.0.4
- PostgreSQL
Para rodar localmente, clone o projeto:
git clone https://github.com/tarocoLeo/post-api.git
Certifique-se de ter o Ruby na versão 3.0.5 instalado. Em seguida, instale as dependências:
bundle install
Primeiro, inicie o PostgreSQL no seu computador local. Na sequência, rode os comandos para o funcionamento do banco de dados:
rails db:create
rails db:migrate
Agora, basta levantar o servidor:
rails s
Essa API lida com publicações e comentários vinculados à cada publicação. As requisições devem respeitar esse fluxo:
/posts/post_id/comments/comment_id
Vamos começar com as requisições para as publicações:
Faça um GET na rota http://localhost:3000/posts
.
Deverá retornar 200 OK
.
Faça um POST na rota http://localhost:3000/posts
com os dados Título
, Conteúdo
e Autor
.
{
"title": "Título da Publicação",
"content": "Conteúdo da publicação",
"author": "Nome do Autor"
}
Deverá retornar um 201 Created
.
Para criar uma publicação, todos os dados precisam ser informados. Do contrário, retornará o erro 422 Unprocessable Entity
com a mensagem de erro "can't be blank"
indicando o(s) campo(s) vazio(s).
Faça um GET na rota da publicação passando seu ID no final:
http://localhost:3000/posts/post_id
Deverá retornar 200 OK
e os dados da publicação.
Faça um PUT na rota http://localhost:3000/posts/post_id
passando o ID da publicação que terá as informações alteradas. Envie o JSON com os dados que deseja alterar. Nesse caso, vamos alterar o conteúdo:
{
"title": "Título da Publicação",
"content": "Conteúdo atualizado",
"author": "Nome do Autor"
}
Deverá retornar 200 OK
e os dados da publicação já alterada.
Faça um DELETE na rota http://localhost:3000/posts/post_id
, passando o ID da publicação que deseja deletar.
Deverá retornar um 200 OK
e nenhum dado da publicação (já excluída).
Agora, veremos sobre as requisições dos comentários.
Importante lembrar que os comentários pertencem única e exclusivamente à uma publicação, sendo assim, só é possível acessar os comentários informando a publicação a qual pertencem através do post_id
.
Para visualizar os comentários de uma publicação, faça um GET na rota http://localhost:3000/posts/post_id/comments
, informando o ID da publicação.
Deverá retornar 200 OK
.
Faça um POST na rota http://localhost:3000/posts/post_id/comments
com os dados Conteúdo
e Autor
.
{
"content": "Conteúdo do comentário",
"author": "Autor do Comentário"
}
Deverá retornar um 201 Created
.
Para publicar um comentário, todos os dados precisam ser informados. Do contrário, retornará o erro 422 Unprocessable Entity
com a mensagem de erro "can't be blank"
indicando o(s) campo(s) vazio(s).
Faça um GET na rota do comentário passando seu ID no final:
http://localhost:3000/posts/post_id/comments/comment_id
Deverá retornar 200 OK
e os dados do comentário.
Faça um PUT na rota http://localhost:3000/posts/post_id/comments/comment_id
passando o ID do comentário que terá as informações alteradas. Envie o JSON com os dados que deseja alterar. Nesse caso, vamos alterar o conteúdo:
{
"content": "Comentário atualizado",
"author": "Autor do Comentário"
}
Deverá retornar 200 OK
e os dados do comentário já alterado.
Faça um DELETE na rota http://localhost:3000/posts/post_id/comments/comment_id
, passando o ID do comentário que deseja deletar.
Deverá retornar um 200 OK
e nenhum dado do comentário (já excluído).