﻿1
00:00:01,380 --> 00:00:03,290
‫Tutor: Nessa palestra, as coisas vão

2
00:00:03,290 --> 00:00:05,450
‫começar a ficar um pouco mais avançadas.

3
00:00:05,450 --> 00:00:08,370
‫E isso porque agora criaremos vários roteadores e

4
00:00:08,370 --> 00:00:10,860
‫usaremos um processo chamado montagem.

5
00:00:10,860 --> 00:00:12,713
‫Então, vamos ver como tudo isso funciona.

6
00:00:14,150 --> 00:00:17,090
‫Agora, antes de fazer qualquer coisa, vamos

7
00:00:17,090 --> 00:00:20,350
‫ter em mente que o objetivo final será separar todo

8
00:00:20,350 --> 00:00:23,510
‫o código que temos neste arquivo em vários arquivos.

9
00:00:23,510 --> 00:00:26,220
‫Então o que eu quero é ter

10
00:00:26,220 --> 00:00:29,270
‫um arquivo que contenha apenas todas essas rotas, então

11
00:00:29,270 --> 00:00:31,200
‫quero ter outro arquivo,

12
00:00:31,200 --> 00:00:33,713
‫que tenha as rotas para os usuários.

13
00:00:34,550 --> 00:00:38,370
‫Também quero ter um arquivo que contenha os manipuladores

14
00:00:38,370 --> 00:00:41,690
‫apenas para os usuários e também um

15
00:00:41,690 --> 00:00:45,680
‫arquivo que conterá todos os manipuladores dos passeios, ok?

16
00:00:45,680 --> 00:00:47,460
‫E isso é realmente o que

17
00:00:47,460 --> 00:00:48,900
‫faremos na próxima aula.

18
00:00:48,900 --> 00:00:51,200
‫Mas, para fazer isso, agora

19
00:00:51,200 --> 00:00:54,030
‫precisamos criar um roteador separado para cada

20
00:00:54,030 --> 00:00:56,033
‫um de nossos recursos.

21
00:00:56,940 --> 00:01:01,320
‫Então, vamos voltar às nossas rotas aqui e agora, podemos

22
00:01:01,320 --> 00:01:05,890
‫dizer que todas as nossas rotas, essas quatro rotas aqui, podemos

23
00:01:05,890 --> 00:01:07,730
‫dizer que estão

24
00:01:07,730 --> 00:01:09,650
‫todas no mesmo roteador, ok?

25
00:01:09,650 --> 00:01:12,800
‫E o roteador, é esse objeto de aplicativo.

26
00:01:12,800 --> 00:01:15,090
‫Mas se quisermos separar essas rotas

27
00:01:15,090 --> 00:01:17,810
‫em arquivos diferentes, então, novamente, um arquivo

28
00:01:17,810 --> 00:01:19,820
‫para essas duas rotas

29
00:01:19,820 --> 00:01:22,440
‫e um arquivo para essas duas rotas,

30
00:01:22,440 --> 00:01:25,540
‫então a melhor coisa a fazer é criar um

31
00:01:25,540 --> 00:01:28,140
‫roteador para cada um dos recursos, certo?

32
00:01:28,140 --> 00:01:30,720
‫E então, é assim que vamos fazer.

33
00:01:30,720 --> 00:01:33,390
‫Na verdade não é tão complicado,

34
00:01:33,390 --> 00:01:34,890
‫mas você terá

35
00:01:34,890 --> 00:01:37,283
‫que entender alguns conceitos, certo?

36
00:01:38,420 --> 00:01:40,070
‫Então, vamos começar

37
00:01:40,070 --> 00:01:45,070
‫dizendo, const tourRouter é igual a express. Roteador.

38
00:01:51,110 --> 00:01:52,560
‫Certo, assim,

39
00:01:52,560 --> 00:01:57,120
‫criamos um novo roteador e o salvamos nesta variável.

40
00:01:57,120 --> 00:01:59,590
‫Tudo bem, então agora vamos usar esse

41
00:01:59,590 --> 00:02:01,480
‫roteador para essas duas rotas.

42
00:02:01,480 --> 00:02:03,653
‫Então, aqui nós o usamos em vez do app.

43
00:02:04,860 --> 00:02:07,550
‫Tudo bem, agora temos dois roteadores e, em seguida,

44
00:02:07,550 --> 00:02:09,710
‫rotear e, é claro, obter e postar

45
00:02:09,710 --> 00:02:11,420
‫as rotas nesse roteador.

46
00:02:11,420 --> 00:02:14,080
‫Agora, como realmente conectamos esse novo roteador

47
00:02:14,080 --> 00:02:15,630
‫ao nosso aplicativo?

48
00:02:15,630 --> 00:02:19,370
‫Bem, vamos usá-lo como middleware, certo?

49
00:02:19,370 --> 00:02:23,770
‫E isso é porque, este novo roteador de ferramenta modular aqui, é

50
00:02:23,770 --> 00:02:26,480
‫na verdade um middleware real, certo?

51
00:02:26,480 --> 00:02:28,330
‫E então podemos

52
00:02:29,980 --> 00:02:34,980
‫dizer, (digitação no teclado), app. usar, e então a rota, mas vamos deixar isso para depois.

53
00:02:36,760 --> 00:02:41,760
‫Então podemos usar o tourRouter em nosso aplicativo e onde

54
00:02:42,020 --> 00:02:44,647
‫queremos usar o tourRouter?

55
00:02:44,647 --> 00:02:46,650
‫Bem, queremos usá-lo

56
00:02:46,650 --> 00:02:51,650
‫em / api / version one / tours, ok?

57
00:02:53,800 --> 00:02:58,030
‫Então, novamente, este tourRouter aqui, é um middleware real.

58
00:02:58,030 --> 00:03:01,850
‫E queremos usar esse middleware para essa rota específica.

59
00:03:01,850 --> 00:03:04,240
‫Ok, então usamos o app. usar e

60
00:03:04,240 --> 00:03:07,883
‫especificar a função de middleware, que é esse

61
00:03:07,883 --> 00:03:11,540
‫roteador, então especificamos a rota e a URL, para

62
00:03:11,540 --> 00:03:15,200
‫a qual, na verdade, queremos usar esse middleware, ok?

63
00:03:15,200 --> 00:03:16,640
‫E

64
00:03:16,640 --> 00:03:20,700
‫assim, criamos basicamente um subaplicativo, ok?

65
00:03:20,700 --> 00:03:22,270
‫Agora, há apenas

66
00:03:22,270 --> 00:03:24,060
‫uma coisa que realmente precisamos

67
00:03:24,060 --> 00:03:27,110
‫mudar aqui, que são essas rotas aqui, certo?

68
00:03:27,110 --> 00:03:29,830
‫Deixe-me mudar isso aqui e depois explicar por

69
00:03:29,830 --> 00:03:31,830
‫que tem que ser assim.

70
00:03:31,830 --> 00:03:34,267
‫Então aqui, queremos apenas a

71
00:03:34,267 --> 00:03:37,600
‫rota, e aqui, queremos apenas a id, ok?

72
00:03:37,600 --> 00:03:39,450
‫Agora, por que isso?

73
00:03:39,450 --> 00:03:42,540
‫Bem, é porque esse middleware

74
00:03:42,540 --> 00:03:46,200
‫tourRouter, só roda nessa rota aqui mesmo, ok?

75
00:03:46,200 --> 00:03:48,400
‫E assim que estivermos

76
00:03:48,400 --> 00:03:50,700
‫no roteador, já estaremos nesta rota.

77
00:03:50,700 --> 00:03:54,150
‫Então, em nosso tourRoute, e nessa primeira rota que

78
00:03:54,150 --> 00:03:57,370
‫tínhamos que fazer antes, só queremos executá-la como,

79
00:03:57,370 --> 00:04:00,090
‫api / version one / tours

80
00:04:00,090 --> 00:04:03,740
‫e é isso que essa rota significa agora, ok?

81
00:04:03,740 --> 00:04:07,720
‫Portanto, é basicamente a rota dessa URL, certo?

82
00:04:07,720 --> 00:04:10,750
‫Então esse é um pequeno mini-aplicativo, certo?

83
00:04:10,750 --> 00:04:14,260
‫Então, na verdade, quando criamos um sistema

84
00:04:14,260 --> 00:04:18,650
‫de roteador como este, dizemos que criamos um pequeno subaplicativo

85
00:04:18,650 --> 00:04:21,793
‫para cada um desses recursos, certo?

86
00:04:22,860 --> 00:04:26,410
‫Então esse é o roteiro do ou mini

87
00:04:26,410 --> 00:04:30,390
‫aplicativo, que é de novo, em / tours, tá bom?

88
00:04:30,390 --> 00:04:34,150
‫E então a segunda rota, é em / id, certo?

89
00:04:34,150 --> 00:04:35,680
‫E isso porque,

90
00:04:35,680 --> 00:04:39,303
‫antes, era nas turnês / id, então era tudo isso.

91
00:04:40,190 --> 00:04:44,330
‫Assim, mas agora, este URL aqui já

92
00:04:44,330 --> 00:04:49,330
‫está em nosso tipo de rota primária aqui, certo?

93
00:04:49,400 --> 00:04:51,980
‫Então, digamos que temos uma solicitação de

94
00:04:51,980 --> 00:04:56,690
‫entrada agora para / api / version one / tours / version id.

95
00:04:56,690 --> 00:04:59,460
‫Portanto, a solicitação vai para a pilha de middleware

96
00:04:59,460 --> 00:05:02,190
‫e quando atinge essa linha de código

97
00:05:02,190 --> 00:05:05,060
‫aqui, ela vai corresponder a esta URL aqui, certo?

98
00:05:05,060 --> 00:05:07,380
‫Portanto, ele corresponderá a esta rota e, portanto,

99
00:05:07,380 --> 00:05:10,150
‫uma ou duas funções de middleware de roteador serão executadas.

100
00:05:10,150 --> 00:05:14,310
‫Então, ou dois roteadores é esse subaplicativo que criamos, que

101
00:05:14,310 --> 00:05:17,740
‫por sua vez tem suas próprias rotas, certo?

102
00:05:17,740 --> 00:05:20,570
‫E se a solicitação foi por / id,

103
00:05:20,570 --> 00:05:22,480
‫bem, então dentro do

104
00:05:22,480 --> 00:05:25,220
‫nosso mini aplicativo, acertará essa rota aqui, certo?

105
00:05:25,220 --> 00:05:26,250
‫E, por

106
00:05:26,250 --> 00:05:29,030
‫fim, é claro, ele executará uma dessas

107
00:05:29,030 --> 00:05:31,190
‫alças aqui, dependendo do método usado.

108
00:05:31,190 --> 00:05:34,010
‫Espero que tenha feito sentido.

109
00:05:34,010 --> 00:05:36,580
‫E então, vamos prosseguir e fazer

110
00:05:36,580 --> 00:05:39,363
‫o mesmo para todos os usuários, certo?

111
00:05:40,220 --> 00:05:44,089
‫Então, vou seguir em frente e criar outro roteador aqui,

112
00:05:44,089 --> 00:05:47,370
‫(digitação no teclado) chamado userRouter, e então, como

113
00:05:49,727 --> 00:05:52,520
‫antes, é expresso. Roteador

114
00:05:55,970 --> 00:05:58,823
‫não é assim, sim.

115
00:06:00,160 --> 00:06:02,333
‫Ok, então use um roteador,

116
00:06:05,810 --> 00:06:08,970
‫e então precisamos fazer o mesmo processo aqui.

117
00:06:08,970 --> 00:06:12,980
‫E por falar nisso, isso se chama montagem do roteador, ok?

118
00:06:12,980 --> 00:06:17,980
‫Montar um novo roteador em uma rota, basicamente, certo?

119
00:06:19,770 --> 00:06:23,970
‫Portanto, agora temos usuários e aqui o usuário.

120
00:06:26,100 --> 00:06:28,870
‫E, na verdade, montar os

121
00:06:28,870 --> 00:06:32,330
‫roteadores tem que vir depois de todas

122
00:06:32,330 --> 00:06:37,330
‫essas definições ou pelo menos depois de declarar uma variável, certo?

123
00:06:39,660 --> 00:06:41,190
‫Portanto, não podemos usar

124
00:06:41,190 --> 00:06:43,560
‫os roteadores antes de realmente os declararmos.

125
00:06:43,560 --> 00:06:46,630
‫Ok, agora tudo o que precisamos fazer

126
00:06:46,630 --> 00:06:50,223
‫é ir em frente e também alterar as rotas aqui.

127
00:06:51,850 --> 00:06:55,160
‫E assim como antes, se agora houver uma

128
00:06:55,160 --> 00:06:59,740
‫solicitação para / api / versão um / usuários / id,

129
00:06:59,740 --> 00:07:02,350
‫a solicitação entrará na pilha de middleware

130
00:07:02,350 --> 00:07:04,680
‫e quando atingir este middleware

131
00:07:04,680 --> 00:07:06,560
‫aqui, executará o roteador

132
00:07:06,560 --> 00:07:10,250
‫do usuário, porque esta rota aqui é combinados, ok?

133
00:07:10,250 --> 00:07:12,320
‫E então ele entra no

134
00:07:12,320 --> 00:07:14,220
‫roteador do usuário e

135
00:07:14,220 --> 00:07:18,960
‫de novo, assim como antes, esse erro é a rota basicamente em

136
00:07:18,960 --> 00:07:23,860
‫nosso subaplicativo, e isso aqui é a URL / id inteira, ok?

137
00:07:23,860 --> 00:07:25,550
‫Isso faz sentido?

138
00:07:25,550 --> 00:07:26,710
‫Portanto, antes de

139
00:07:26,710 --> 00:07:29,723
‫prosseguirmos, vamos realmente testar se isso ainda funciona.

140
00:07:30,640 --> 00:07:35,210
‫Então, vamos ver todos os passeios aqui e, de fato, acontecem.

141
00:07:35,210 --> 00:07:40,000
‫Então tudo ainda funciona da mesma forma com os

142
00:07:40,000 --> 00:07:42,380
‫usuários e também funciona.

143
00:07:42,380 --> 00:07:45,410
‫Então fizemos todas essas mudanças e decodificamos os

144
00:07:45,410 --> 00:07:49,350
‫trabalhos, o que significa que nossos dois novos roteadores estão montados corretamente.

145
00:07:49,350 --> 00:07:53,230
‫Tudo bem, e com isso, estamos prontos para separar

146
00:07:53,230 --> 00:07:56,250
‫ou diferentes roteadores agora em arquivos diferentes.

147
00:07:56,250 --> 00:07:58,993
‫E isso faremos bem na próxima palestra.

