- Buscar todos os posts (
GET /posts) e imprimir no console apenasidetitledos 10 primeiros.12 - Buscar um post específico por id (
GET /posts/10) e exibir todos os campos.21 - Buscar todos os usuários (
GET /users) e mostrar nome, email e cidade (campoaddress.city).12
- Buscar todos os posts de um usuário específico (
GET /posts?userId=1) e listar os títulos.31 - Dado um
postId, buscar os comentários via: - Montar um método que, recebendo um
userId, busque:
- Criar um método
CreatePostAsync(Post post)que façaPOST /posts, envie um JSON comtitle,body,userIde imprima o JSON de resposta (lembrando que a API não persiste de verdade).42 - Criar um método
UpdatePostAsync(int id, Post post)que façaPUT /posts/{id}e valide se o corpo retornado reflete as alterações.42 - Criar um método
PatchPostTitleAsync(int id, string title)que façaPATCH /posts/{id}alterando apenas o título e mostrando a diferença entre o original e o modificado.2 - Criar um método
DeletePostAsync(int id)que façaDELETE /posts/{id}, valide oStatusCodede sucesso e logue uma mensagem “simulado: post {id} deletado”.52
- Consumir
GET /todose: - Implementar um método
MarkTodoAsCompletedAsync(int id)que faça umPATCH /todos/{id}mudandocompletedparatruee exibindo o objeto retornado.52
- Criar testes que chamem rotas inválidas (ex.:
GET /postsss,GET /posts/999999) e: - Implementar um wrapper que sempre:
- loga a URL, método e status code;
- mede o tempo da requisição;
- tenta desserializar o JSON e trata exceções de forma centralizada.6
Footnotes
-
https://jsonplaceholder.typicode.com/guide/ ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11
-
https://imasters.com.br/javascript/como-criar-uma-fake-api-rest-para-testes-jsonplaceholder ↩ ↩2 ↩3
-
https://schulich.libguides.com/c.php?g=740150\&p=5340549 ↩ ↩2
-
https://apichallenges.eviltester.com/practice-sites/jsonplaceholder ↩ ↩2
-
https://learn.microsoft.com/pt-br/dotnet/fundamentals/networking/http/httpclient ↩ ↩2
-
https://comunity.gitbook.io/learning.comunityplatform/toolkit-tutorials/apis/json-placeholder-todos-api-integration-in-a-simple-blog-app ↩
-
https://dev.to/avinashrepo/simple-task-list-application-187d ↩