1
00:00:02,450 --> 00:00:08,530
Para entender melhor a mgica do Spring Boot, vamos criar um controlador

2
00:00:08,710 --> 00:00:12,670
REST simples neste exemplo. O que faremos  criar

3
00:00:12,680 --> 00:00:15,700
um servio REST simples. Eu gostaria de

4
00:00:15,730 --> 00:00:24,680
criar um servio REST com um URI. A primavera, como livros, corta livros e eu gostaria de devolver alguns livros codificados. Como o Tomcat 

5
00:00:24,680 --> 00:00:26,940
executado na porta

6
00:00:26,970 --> 00:00:28,400
8080 por padro.

7
00:00:28,460 --> 00:00:29,670
Foi o que vimos

8
00:00:29,780 --> 00:00:30,800
porta 8080.

9
00:00:30,860 --> 00:00:39,200
Portanto, o URI seria algo como HTTP clon barra slash localhost clon 8080 e eu gostaria

10
00:00:39,230 --> 00:00:44,760
de retornar alguns livros codificados. Antes de irmos para o controlador REST ou criarmos um bean

11
00:00:44,840 --> 00:00:46,150
simples, criamos uma nova classe.

12
00:00:46,220 --> 00:00:47,730
Eu chamarei este livro.

13
00:00:47,870 --> 00:00:50,660
No vamos realmente tornar isso muito complexo.

14
00:00:50,660 --> 00:01:00,620
Vou apenas dizer uma longa cadeia de caracteres, o nome do livro e o autor da string. Podemos armazenar muito mais detalhes como ISBN, cpias

15
00:01:00,920 --> 00:01:02,950
e coisas assim.

16
00:01:02,960 --> 00:01:08,630
Mas vamos manter isso simples. Vamos apenas ter essas opes que esto presentes neste grupo ... neste livro.

17
00:01:08,630 --> 00:01:11,720
Vamos tambm criar um construtor, rapidamente.

18
00:01:11,900 --> 00:01:16,010
E tambm gostaria de criar os getters e setters.

19
00:01:16,070 --> 00:01:19,700
Eu realmente no quero criar setters, mas eu gostaria de adicionar os getters.

20
00:01:20,150 --> 00:01:26,470
Ento, eu direi select getter e adicionarei e adicionarei um toString tambm.

21
00:01:26,830 --> 00:01:27,620
EST BEM. Legal.

22
00:01:27,730 --> 00:01:29,670
Ns temos um bean simples definido agora.

23
00:01:29,710 --> 00:01:32,830
Ento ns temos um bean com Id, nome e autor.

24
00:01:32,850 --> 00:01:36,010
Agora eu gostaria de comear a criar o controlador REST.

25
00:01:36,290 --> 00:01:38,290
Ento, como fao para criar um controlador REST?

26
00:01:38,300 --> 00:01:41,860
Novamente,  uma classe Java e eu gostaria de chamar esse controlador de livros.

27
00:01:41,930 --> 00:01:46,630
Eu gostaria que isso fosse um controlador REST. Eu gostaria que ele atendesse solicitaes, solicitaes REST.

28
00:01:46,670 --> 00:01:54,040
Preciso usar a anotao, vamos colocar isso aqui. Agora tenho a anotao do controlador REST adicionada.

29
00:01:54,050 --> 00:01:59,300
Agora eu gostaria de mapear um URI para ele, certo? Ento, o que eu quero mapear  slash books.

30
00:01:59,540 --> 00:02:04,130
Ento, eu gostaria de mapear livros de slash. Ento, sempre que algum executa um pedido GET em slash

31
00:02:04,790 --> 00:02:09,500
books, eu gostaria que ele retornasse um conjunto de livros codificados. Ento, como fao isso?

32
00:02:09,550 --> 00:02:17,970
Isso  por pegar mapa. Estou mapeando um URL de obteno. Ento, estou mapeando um URL de obteno para qu?

33
00:02:18,340 --> 00:02:25,910
Ento Get  o tipo do pedido. Ento, se voc entender bem o HTTP, saber que

34
00:02:25,910 --> 00:02:34,330
existem vrios tipos de mtodos HTTP.  isso mesmo GET, POST, DELTE. Get  normalmente usado para recuperar dados.

35
00:02:34,340 --> 00:02:41,030
Ento eu gostaria de usar get. Vamos criar um mtodo, to pblico e eu gostaria de

36
00:02:41,030 --> 00:02:44,350
retornar uma lista de livros e pegar todos os livros.

37
00:02:47,780 --> 00:02:49,770
Eu importarei para a lista de pontos util do ponto.

38
00:02:49,770 --> 00:02:55,070
E agora eu posso realmente retornar um simples, eu quero criar um livro.

39
00:02:55,080 --> 00:03:03,650
Ento eu vou dizer novo livro. Vou usar um id de um. E eu posso usar um dos livros recentes

40
00:03:03,720 --> 00:03:15,240
que escrevi, ento vou dizer que domino a Primavera 5. 0  o nome do livro e de autoria de Ranga Karnam. Tudo o que fizemos  algo muito,

41
00:03:15,240 --> 00:03:16,790
muito simples, certo?

42
00:03:16,800 --> 00:03:23,150
Adicionar um mtodo de controlador REST manipular uma solicitao get para o URI especfico.

43
00:03:23,210 --> 00:03:27,480
E o que estamos fazendo aqui  que estamos realmente devolvendo um livro.

44
00:03:27,660 --> 00:03:30,820
Ns podemos realmente escrever vrios livros se voc quiser.

45
00:03:30,870 --> 00:03:37,330
Por enquanto eu s queria manter as coisas simples e eu s queria devolver um livro de volta.

46
00:03:37,500 --> 00:03:40,230
Agora eu realmente iria em frente e agora iniciar o servidor.

47
00:03:40,260 --> 00:03:45,120
Eu estou correndo como um aplicativo java. Spring Boot em aplicativo de 10 etapas.

48
00:03:45,180 --> 00:03:53,310
Servidor foi iniciado e no log voc pode ver que h o nosso mapeamento tambm foi escolhido diretamente.

49
00:03:53,490 --> 00:04:01,840
Assim, voc veria que o mtodo slash books get  mapeado para o mtodo que escrevemos. pegue todos os livros.

50
00:04:01,950 --> 00:04:09,220
Ento vamos ver o que aconteceria quando eu executar o pedido. Host local 8080 livros slash.

51
00:04:09,240 --> 00:04:14,010
Voc pode ver o servidor respondendo com uma resposta JSON.

52
00:04:14,030 --> 00:04:15,200
Esta  uma resposta JSON.

53
00:04:15,210 --> 00:04:18,960
Id um. O nome  masterings Spring 5. 0, o autor  Ranga Karnam.

54
00:04:19,260 --> 00:04:26,480
Portanto, essa solicitao est realmente retornando os detalhes em um formato JSON. Este  um servio de descanso.

55
00:04:26,640 --> 00:04:34,450
A parte mgica da coisa toda  o fato de que nos concentramos diretamente na criao do servio de descanso.

56
00:04:34,620 --> 00:04:37,380
Isso  o que o Spring Boot pretende ativar.

57
00:04:37,410 --> 00:04:40,350
Ns no nos concentramos em nenhuma das coisas da infraestrutura.

58
00:04:40,350 --> 00:04:47,280
No nos concentramos em configurar a estrutura ou configurar alguns beans ou configurar um servlet de dispatcher

59
00:04:47,280 --> 00:04:54,870
ou configurar um resolvedor de view. Ns no fizemos nada. Mas ainda magicamente este servio

60
00:04:55,080 --> 00:04:56,260
comea a funcionar.

61
00:04:56,280 --> 00:04:57,690
Como isso acontece?

62
00:04:57,810 --> 00:05:01,400
Isso que ns aprenderamos nos prximos passos.

