0% acharam este documento útil (0 voto)
128 visualizações20 páginas

API Exercicios

O documento apresenta uma série de exercícios e desafios para praticar o desenvolvimento de uma API REST utilizando o framework Javalin em Kotlin. Os exercícios envolvem configurar rotas para obter a localização atual, uma localização específica, inserir, deletar e atualizar localizações armazenadas em banco de dados. Dicas como utilizar o Postman e referências ao código de exemplo são fornecidas.

Enviado por

Patricia Silva
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
128 visualizações20 páginas

API Exercicios

O documento apresenta uma série de exercícios e desafios para praticar o desenvolvimento de uma API REST utilizando o framework Javalin em Kotlin. Os exercícios envolvem configurar rotas para obter a localização atual, uma localização específica, inserir, deletar e atualizar localizações armazenadas em banco de dados. Dicas como utilizar o Postman e referências ao código de exemplo são fornecidas.

Enviado por

Patricia Silva
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 20

A B C D E F G H I J K

1
2
3
4
5
6
7 MÉTODOS HTTP &
API
8
9
10
11
12
13
14
Exercícios para
praticarmos 💜
15
16
A B C D E F G H I J K

EXERCÍCIO
2
3
4
5
Olá Magnífica e bela Viajante! 💜

6 Eu sou a Navy e serei a sua assistente.


7
Vou te auxiliar nas instruções da sua nova nave!
8
9 Infelizmente ela está com alguns probleminhas 😞 e vamos ter que
10 consertar juntas 😃

11 Tenho certeza que você consegue, consultei aqui nos meus arquivos e
12 diz que você é a viajante pica das galáxias 💥😍
13
Borá nos aventurar?
14
15
16
A B C D E F G H I J K

EXERCÍCIO
2
3
4
Olá Magnífica e bela Viajante! 💜
5
6 Eu sou a Navy e serei a sua assistente.

7 Vou te auxiliar nas instruções da sua nova nave!

8 Infelizmente ela está com alguns probleminhas 😞 e vamos ter que consertar juntas 😃
9 Tenho certeza que você consegue, ouvi dizer que você é a viajante pica das galáxias 💥😍
10
Borá nos aventurar?
11
12
13
14
15
16
A B C D E F G H I J K

1
2

EXERCÍCIO 1
3
4
5
6
7
Eitaaa, eu não sei onde
8
estamos! Vamos pegar nossa
9 localização atual?
10
11
12
13
14
15
16
A B C D E F G H I J K

EXERCÍCIO - 1
2
3
4
5
Primeiro, vamos ter que configurar o dispositivo que pega a sua
localização.
6
7 Para configurar, precisamos criar uma chamada GET com a rota
/locations que retorna o status code 200(OK) e a resposta seja as
8
informações da localização atual. (use como base o nosso projetinho de CRUD)
9
10
Não se preocupe sobre as informações da localização, elas já estão na
11 nossa base.
12
13
14
15
16
A B C D E F G H I J K

EXERCÍCIO - 1
2
3
4
5
E se tuuuuuudo foi configurado corretamente, teremos a seguinte
resposta quando batermos na rota http://localhost:7000/locations (irá
6 retornar uma informação no formato json aleatória):
7
8 {
"id":1,
9 "mensagem":"Voce esta em algum lugar na galaxia Andromedra",
"longitude":54.56155,
10 "latitude":24.57410,
"galaxia":"Plutao",
11 "planeta":"Pluplu"
}
12
13
14 Dica: na variável locationDao que esta no arquivo Main.kt invoque a função
getAll() para retornar todas as localizações.
15
16
A B C D E F G H I J K

1
2

EXERCÍCIO 2
3
4
5
6
7
Hummm… conheço esse lugar,
8
acredito que o id dele seja 3.
9
10
11
12
13
14
15
16
A B C D E F G H I J K

EXERCÍCIO - 2
2
3
4
5
Segundo, vamos ter que configurar o dispositivo que pega uma
localização específica.
6
7 Para configurar, precisamos criar uma chamada GET com a rota
/locations/{id} que retorna o status code 200(OK) e a resposta seja a
8
localização que corresponde esse id. (use como base o nosso projetinho de CRUD)
9
10
Não se preocupe sobre as informações da localização, elas já estão na
11 nossa base.
12
13
14
15
16
A B C D E F G H I J K

EXERCÍCIO - 2
2
3
4
5
E se tuuuuuudo foi configurado corretamente, teremos a seguinte
resposta:
6 /locations/3
7 {
"id":3,
8 "mensagem":"Hummmm... nao conheco essa localizacao, voce tera que inseri-la",
"longitude":0.0,
9 "latitude":0.0,
"galaxia":"galaxia nao identificada :(",
10 "planeta":"planeta nao identificado :("
}
11
12
13
14 Dica: na variável locationDao que esta no arquivo Main.kt invoque a função
findById() e entao ira retornar a localização especifica.
15
16
A B C D E F G H I J K

1
2

DESAFIO 1
3
4
5
6
7
Ooohhh, encontrei um novo
8
planeta! Preciso inserir as
9 informações dele na minha base
10 de dados.
11
12
13
14
15
16
A B C D E F G H I J K

DESAFIO 1
2
3
4
5
Terceiro, vamos ter que configurar o dispositivo para inserir a sua
localização.
6
7 Para configurar, precisamos criar uma chamada POST com a rota
/locations que retorna o status code 201(Created).
8
9
10 Terá que conter no corpo da chamada o contrato com as informações
preenchidas.
11
12
13
14
15
16
A B C D E F G H I J K

DESAFIO 1
2
3
4
5
Exemplo de contrato (voce pode passar os valores que quiser):

6 {
"mensagem":"Uhuhuhu navegando em um buraco de minhoca",
7 "longitude":1.0002,
"latitude":0.57410,
8 "planeta": "Marte",
"galaxia": "Milky Way"
9 }
10
11 Obs: Contrato são os campos definidos pelo servidor para enviar
12 determinadas informações, o mais comum é em formato JSON.
13 Dica: na variável locationDao que está no arquivo Main.kt invoque a função save()
para inserir a informação da localização atual na nossa base.
14
15
16
A B C D E F G H I J K

1
2

DESAFIO 2
3
4
5
6
7
Eitaaa!!! Coloquei um planeta
8
duplicado, preciso remove-lo.
9
10
11
12
13
14
15
16
A B C D E F G H I J K

DESAFIO 2
2
3
4
5
Quarto, vamos ter que configurar o dispositivo para deletar uma
localização.
6
7 Para configurar, precisamos criar uma chamada DELETE com a rota
/locations/{id} que retorna o status code 204(Not Content).
8
9 Nesse caso não esperamos nenhuma mensagem resposta.
10
11
12
Dica: na variável locationDao que está no arquivo Main.kt invoque a função delete()
13 para inserir a informação da localização atual na nossa base.

14
15
16
A B C D E F G H I J K

1
2

DESAFIO 3
3
4
5
6
7
Carambolas! Passei algumas
8
infos erradas em uma
9 localização, preciso
10 atualiza-la.
11
12
13
14
15
16
A B C D E F G H I J K

DESAFIO 3
2
3
4
5
Quinto, vamos ter que configurar o dispositivo para atualizar uma
localização.
6
7 Para configurar, precisamos criar uma chamada PATCH com a rota
/locations/{id} que retorna o status code 204(Not Content) e
8
precisamos passar no corpo os campos.
9
10 Terá que conter no corpo da chamada o contrato com as informações a
serem atualizadas.
11
12
13
14
15
16
A B C D E F G H I J K

DESAFIO 3
2
3
4
5
Exemplo de contrato (voce pode passar os valores que quiser):

6 {
"mensagem":"Uhuhuhu navegando em um buraco de minhoca",
7 "longitude":3.0042,
"latitude":0.57410,
8 "planeta": "Marte",
"galaxia": "Milky Way"
9 }
10
11 Dica: na variável locationDao que está no arquivo Main.kt invoque a função update()
para atualizar a informação da localização na nossa base.
12
13
14
15
16
A B C D E F G H I J K

1
2
3
No repositório do git, tem a
4 branch feat/viajante com o código
5 base para desenvolvimento.

DICAS PARA
6
7
8
PROGRAMAR Caso tenha dúvidas, dê uma fuçada
na documentação do Javalin.
9
10
11
12
Fuce bastante a Contexto(ctx) com
o ctrl+espaço após o ponto (ctx.)
13
14
15
16
A B C D E F G H I J K

1
2
3
Utilize nosso projeto que
4 fizemos em classe como base para
5 o desenvolvimento dos
exercícios.
DICAS PARA
6
7 Para fazer request dessas rotas
8
PROGRAMAR para teste, instale o Postman.
9
● Tutorial em como configurar e
10
utilizar o Postman.
11
12 Boa sorte! Anote suas dúvidas
13
para discutirmos em classe.
14
15
16
A B C D E F G H I J K

1
2

THANKS!
3
4
5
6
FICOU ALGUMA DÚVIDA?
7
Se não conseguir resolver tudo,
8 sem problemas! Podemos resolver na
9 aula 💜
10
11
12
13 CREDITS: This presentation template was created by Slidesgo,
including icons by Flaticon and infographics & images by Freepik
14 By Stephannie Suzart to Women Can Code 6th Edition

15
16

Você também pode gostar