1
00:00:00,150 --> 00:00:01,250
Bem vindo de volta.

2
00:00:01,290 --> 00:00:08,310
Então, este vídeo é uma continuação do último vídeo em que fizemos uma visão geral conceitual deste aplicativo de demonstração de cães

3
00:00:08,310 --> 00:00:11,850
e conversamos sobre as rotas de solicitação para obter o pedido.

4
00:00:12,180 --> 00:00:15,110
Então, novamente para reiterar a mesma expectativa de candidatura.

5
00:00:15,360 --> 00:00:21,690
Você não precisa entender 99 por cento deste código se você puder apenas tratar as coisas como blocos conceituais

6
00:00:21,840 --> 00:00:29,910
e você pode entender que este código aqui é responsável por cães obter rota e, de alguma forma, você envia de volta uma página

7
00:00:29,910 --> 00:00:32,580
que tem um monte de cães em isto.

8
00:00:32,700 --> 00:00:34,660
Isso é tudo o que você precisa saber por enquanto.

9
00:00:34,680 --> 00:00:36,720
O mesmo se aplica aos novos conceitos.

10
00:00:36,720 --> 00:00:38,350
Nós vamos aprender neste vídeo.

11
00:00:38,370 --> 00:00:41,100
O foco não é sintaxe é sobre conceitos.

12
00:00:41,430 --> 00:00:47,070
Então, há uma terceira rota por aqui que não mencionei no primeiro vídeo e é um pouco diferente na medida

13
00:00:47,580 --> 00:00:49,450
em que é uma rota de publicação.

14
00:00:49,710 --> 00:00:57,300
Então, este código aqui será executado somente quando um usuário fizer uma solicitação de POST para cortar criar um cachorro.

15
00:00:58,190 --> 00:01:03,870
E apenas para tropeçar sua memória, um usuário não pode fazer uma solicitação POST digitando algo no você ou no Albar.

16
00:01:04,290 --> 00:01:09,330
nove nove nove por cento do tempo que eles estarão fazendo um pedido POST é através de um formulário.

17
00:01:09,330 --> 00:01:10,060
Noventa e nove

18
00:01:10,290 --> 00:01:12,970
Então, vamos ver isso em ação apenas um pouco.

19
00:01:13,170 --> 00:01:16,880
Mas também posso demonstrar fazer uma solicitação POST através do postman.

20
00:01:17,370 --> 00:01:20,190
Então, solicite solicitações para cortar criar cão.

21
00:01:20,370 --> 00:01:26,610
E o que isso vai fazer é que vai levar o nome na raça que enviamos no pedido, o que

22
00:01:26,610 --> 00:01:33,280
está acontecendo aqui, o nome é pedido até o pedido de raça do nome do corpo para o outbreed do corpo.

23
00:01:33,300 --> 00:01:39,720
Então, de alguma forma, na solicitação, há um nome e uma raça nesse objeto chamado corpo e estamos usando isso para

24
00:01:39,720 --> 00:01:41,020
criar um novo cachorro.

25
00:01:41,370 --> 00:01:46,920
E então, estamos redirecionando o usuário de volta aos cachorros da lama como um pedido de get que então executará

26
00:01:46,920 --> 00:01:50,850
todo esse código que você encontrará todos os cães e renderizará a página dos cães.

27
00:01:51,120 --> 00:01:52,560
Então, muitas coisas acontecem.

28
00:01:52,830 --> 00:01:58,910
Vamos começar no início, enviando uma solicitação de publicação simples para cortar criar cachorro.

29
00:01:59,250 --> 00:02:05,880
Então, vamos para o carteiro e vou mudar isso para a postagem e então precisamos mudar a

30
00:02:05,880 --> 00:02:13,380
rota para que o barramento localhost 3000 crie cães e precisamos ter certeza de que o servidor ainda está bem

31
00:02:13,380 --> 00:02:14,230
quando estiver.

32
00:02:14,730 --> 00:02:19,860
para enviar onde não vamos enviar um nome e uma leitura e veremos o que acontece.

33
00:02:19,860 --> 00:02:22,090
E então, podemos começar por apenas enviar

34
00:02:23,550 --> 00:02:31,010
Então, se você olhar para o que voltamos, é a mesma página de cães onde tem Rustie por que Daisy Sitka.

35
00:02:31,200 --> 00:02:35,250
E então também há um cão vazio sem nome e sem raça.

36
00:02:35,310 --> 00:02:41,670
E se eu for para o meu navegador aqui e eu atualizo, faço outro pedido para cortar cães que desencadearão o código

37
00:02:41,670 --> 00:02:46,800
que recupera todos os cães do banco de dados e faz um pouco de vida para cada um.

38
00:02:46,950 --> 00:02:53,100
Você pode ver na verdade que temos um cão vazio no banco de dados e é porque não enviamos nenhum dado.

39
00:02:53,130 --> 00:02:56,630
Nós não enviamos um nome e uma raça para criar nosso novo cachorro.

40
00:02:56,670 --> 00:03:01,300
Então eles estavam vazios e nosso código acabou de fazer um cachorro vazio e salvou-o no banco de dados.

41
00:03:01,500 --> 00:03:09,090
Então, para enviar os dados com o postman, podemos ir ao corpo e então podemos digitar algumas coisas para adicionar

42
00:03:09,090 --> 00:03:09,870
ao corpo.

43
00:03:10,080 --> 00:03:19,900
Então queremos que um nome seja Charlie e leia e o valor para Breede será um laboratório assim.

44
00:03:19,920 --> 00:03:25,830
Isto é tudo o que precisamos fazer através do carteiro para fazer uma solicitação de publicação que tem nome e raça dentro de

45
00:03:25,830 --> 00:03:26,430
seu corpo.

46
00:03:26,760 --> 00:03:28,210
E vou bater enviar.

47
00:03:28,770 --> 00:03:30,630
Agora você verá a resposta que recebemos.

48
00:03:30,660 --> 00:03:34,150
Todos os cachorros são novamente desta vez no final.

49
00:03:34,170 --> 00:03:36,090
Nós temos Charlie como um laboratório.

50
00:03:36,270 --> 00:03:41,400
E se eu atualizar aqui fazer outro pedido, eu recebo todos os cães.

51
00:03:41,700 --> 00:03:43,100
Charlie foi adicionado.

52
00:03:43,530 --> 00:03:46,090
Vamos recapitular tudo isso em 30 segundos aqui.

53
00:03:46,290 --> 00:03:51,310
Então eu solicito uma solicitação de publicação para criar o cão apenas outro tipo de solicitação.

54
00:03:51,540 --> 00:03:57,450
E no pedido do corpo que está aqui, estou adicionando nome e raça Charlie e laboratório.

55
00:03:57,840 --> 00:04:05,040
E então eu preso enviar e então no meu código no servidor está ouvindo uma solicitação de publicação para cortar o cão.

56
00:04:05,510 --> 00:04:11,370
alguém não nomeia e pede a alguém para o outbreed que são essas duas coisas que enviamos com o carteiro.

57
00:04:11,370 --> 00:04:13,730
E cria um cão com o pedido que

58
00:04:14,220 --> 00:04:21,420
E então, depois que ele cria o cachorro, redireciona-nos para cortar cachorros para que não nos envie uma página ou qualquer

59
00:04:21,420 --> 00:04:22,310
idade para ele.

60
00:04:22,470 --> 00:04:29,670
Na verdade, ele corre o código em cães de barraca aqui, que então encontra todos os cães, incluindo o novo

61
00:04:29,670 --> 00:04:31,260
que acabamos de criar.

62
00:04:31,380 --> 00:04:35,870
Charlie ou no caso anterior era um cão vazio sem nome e sem raça.

63
00:04:36,000 --> 00:04:40,500
Ele recupera todos eles e, em seguida, torna o modelo do cão que vimos.

64
00:04:40,680 --> 00:04:43,740
E para cada um nos faz pequeno aliado.

65
00:04:44,640 --> 00:04:46,330
Então, muitas coisas acontecem.

66
00:04:46,440 --> 00:04:48,060
Está ouvindo um pedido POST.

67
00:04:48,270 --> 00:04:52,650
É adicionar um novo cão a um banco de dados e está redirecionando-nos para cortar cães.

68
00:04:52,650 --> 00:04:56,170
Agora vamos falar sobre como podemos fazer isso com um formulário.

69
00:04:56,220 --> 00:05:01,920
Lembre-se de que não podemos fazer uma solicitação POST clicando em entrar no bar, mas podemos fazer uma usando um formulário.

70
00:05:02,010 --> 00:05:05,630
Então vou adicionar um formulário apenas aos meus cães.

71
00:05:05,770 --> 00:05:06,240
Sim.

72
00:05:06,290 --> 00:05:07,330
No fundo.

73
00:05:07,410 --> 00:05:14,680
Apenas vou fazer uma marca de formulário e há duas partes para uma forma que agora terá mais sentido que falamos sobre elas quando

74
00:05:14,680 --> 00:05:19,180
eu introduzo formulários originalmente, mas você não teve muito contexto para entender o que eles

75
00:05:19,180 --> 00:05:19,730
queriam dizer.

76
00:05:19,750 --> 00:05:24,170
Então, esses dois atributos são ação e método.

77
00:05:24,520 --> 00:05:26,150
Então vou começar com o Método.

78
00:05:26,230 --> 00:05:30,780
Estamos fazendo uma solicitação de publicação e muitas vezes você vê isso em todos os limites também.

79
00:05:30,790 --> 00:05:31,750
Não importa.

80
00:05:31,990 --> 00:05:38,870
E, em seguida, a ação é onde estamos fazendo uma solicitação de publicação, que é apenas criar o cão.

81
00:05:39,120 --> 00:05:45,760
Então, sempre que este formulário for enviado, ele enviará uma solicitação de publicação para criar um cachorro, o que esperamos

82
00:05:45,750 --> 00:05:46,130
aqui.

83
00:05:46,150 --> 00:05:50,080
A solicitação POST criar cão executará este código.

84
00:05:50,290 --> 00:05:52,210
Em seguida, precisamos adicionar nossas entradas.

85
00:05:52,270 --> 00:05:54,020
Então, vamos ter duas entradas.

86
00:05:54,190 --> 00:06:01,720
O tipo é igual a texto em ambos, assim como o suporte fora de lugar para este que apenas diz

87
00:06:01,720 --> 00:06:02,360
o nome.

88
00:06:02,500 --> 00:06:05,270
E então o próximo será para raça.

89
00:06:05,860 --> 00:06:14,770
E a última coisa que faremos é ter um tipo de entrada, ser chamado de envio, qual será o nosso botão

90
00:06:14,760 --> 00:06:20,520
e se atualizarmos a página, agora temos um formulário, mas há um problema.

91
00:06:20,590 --> 00:06:21,620
Se eu preencher isso.

92
00:06:21,730 --> 00:06:30,760
Então, adicionamos outro cachorro aqui Skittles, que pode ser um poodle quando eu acertar, enviará um pedido de publicação para

93
00:06:31,120 --> 00:06:32,870
cortar criar o cão.

94
00:06:33,190 --> 00:06:37,450
Mas observe quando faço que acabamos com um cachorro vazio.

95
00:06:37,810 --> 00:06:44,350
E isso é porque, apesar de eu ter duas entradas, não disse ao navegador qual o nome

96
00:06:44,350 --> 00:06:44,940
dessas entradas.

97
00:06:45,400 --> 00:06:53,140
E este precisa ser chamado de nome, que é um nome pouco confuso porque o nome e este

98
00:06:53,130 --> 00:06:56,870
precisa ser reproduzido e também o espaço reservado.

99
00:06:56,880 --> 00:07:03,250
Então, agora, o que fizemos é adicionando este atributo de nome que dissemos ao navegador quando o usuário enviou

100
00:07:03,250 --> 00:07:08,600
esse formulário, envie uma solicitação de publicação para criar um cachorro com duas peças de dados.

101
00:07:08,920 --> 00:07:14,920
O nome deve ser igual ao que quer que seja nesta entrada e a raça é igual a qualquer coisa nesta entrada também.

102
00:07:15,490 --> 00:07:19,040
Vamos gastar toneladas de tempo escrevendo formulários e lidando com os diferentes atributos.

103
00:07:19,240 --> 00:07:20,760
Então não fique muito apanhado nisso.

104
00:07:20,920 --> 00:07:24,810
Mas o que é importante agora é que estamos adicionando dados ao corpo.

105
00:07:24,820 --> 00:07:33,310
E se eu atualizar e adicionar no Skittles que é um poodle e agora eu tinha enviado, você pode ver que enviou

106
00:07:33,310 --> 00:07:39,260
uma solicitação de publicação e você pode ver isso aqui mesmo para criar um cachorro criar.

107
00:07:39,880 --> 00:07:46,410
E, então, o que aconteceu foi que, em vez disso, crie um cachorro aqui, criou um cão com os dados da

108
00:07:46,420 --> 00:07:48,370
forma, o nome e a raça.

109
00:07:48,820 --> 00:07:54,060
E, depois, criou esse cão e salvou o banco de dados, na verdade, não importa como isso funciona.

110
00:07:54,070 --> 00:07:56,460
Mas isso funciona.

111
00:07:56,470 --> 00:08:03,210
Então, nós redirecionamos para cortar cachorros, e é por isso que há um segundo pequeno objeto impresso aqui que

112
00:08:03,220 --> 00:08:08,370
diz que uma solicitação foi feita para cortar cachorros, mesmo que eu realmente não entrei.

113
00:08:08,380 --> 00:08:14,290
O que aconteceu é quando eu fiz um pedido para cortar criar cão como uma publicação no final de

114
00:08:14,290 --> 00:08:17,190
que ele realmente faz outro pedido para eu cortar cachorros.

115
00:08:17,440 --> 00:08:23,970
E então, isso encontra todos os cachorros e, em seguida, torna o modelo de cães que vemos aqui e, em seguida, obtemos

116
00:08:23,980 --> 00:08:26,750
o formulário no fundo e todo o cão está.

117
00:08:26,830 --> 00:08:28,830
E é por isso que vemos isso aqui.

118
00:08:28,890 --> 00:08:35,580
Então, se você prestar muita atenção a este ícone aqui mesmo, você realmente verá isso em

119
00:08:35,590 --> 00:08:42,530
outro cachorro chamado Snicker com o tema dos doces e os snickers também podem ser um laboratório.

120
00:08:42,750 --> 00:08:44,230
Quando eu acertar, envie.

121
00:08:44,230 --> 00:08:46,180
Observe isso de perto.

122
00:08:46,170 --> 00:08:47,390
Vai ser muito rápido.

123
00:08:47,800 --> 00:08:49,900
Mas mudou por apenas um instante.

124
00:08:50,200 --> 00:08:54,900
E isso é importante porque mostra que, quando faço um pedido, ele realmente me afasta desta

125
00:08:54,900 --> 00:09:00,180
página e então estamos sendo redirecionados de volta aqui, apenas super rápido, então não estamos apenas ficando

126
00:09:00,190 --> 00:09:06,370
nesta página o tempo todo realmente nos leva embora por um instante e depois redireciona-nos de volta e nos mostra

127
00:09:06,370 --> 00:09:08,980
esse conteúdo e é isso que está acontecendo aqui.

128
00:09:08,980 --> 00:09:14,000
Quando você faz um pedido para cortar criar um cachorro, ele redireciona-nos para cortar cães.

129
00:09:14,160 --> 00:09:19,980
E, em seguida, dentro dos cães, nos torna o modelo do cão, que é como vemos tudo isso no navegador.

130
00:09:20,670 --> 00:09:20,930
ESTÁ BEM.

131
00:09:20,950 --> 00:09:22,350
Então cobrimos muito lá.

132
00:09:22,360 --> 00:09:24,850
Deixe-me apenas apontar as partes importantes.

133
00:09:24,850 --> 00:09:31,480
Um é que, dentro do nosso código de servidor, podemos distinguir entre uma solicitação de obtenção e uma solicitação de publicação

134
00:09:31,480 --> 00:09:37,500
e podemos fazer código diferente dependendo do que aconteceu quando e lembrar de uma obtenção é recuperar informações e

135
00:09:37,570 --> 00:09:42,250
uma publicação é adicionar ou enviar informações que é o que estamos usando para.

136
00:09:42,390 --> 00:09:46,010
Slash criar cão como uma publicação é como você pode criar um novo cão.

137
00:09:46,240 --> 00:09:50,860
E há duas coisas que devem estar no corpo do pedido, o nome e a raça.

138
00:09:50,980 --> 00:09:53,710
E se eles não estiverem lá, ele fará um cachorro vazio.

139
00:09:54,000 --> 00:10:00,100
Mas, seja qual for o tipo de cão que ele faz, então redireciona-nos para cortar cães que, em seguida, executa todo esse código.

140
00:10:00,550 --> 00:10:05,680
E o outro importante é que quando enviamos isso, há uma atualização instantânea.

141
00:10:05,670 --> 00:10:10,890
É realmente muito rápido, mas ainda é uma atualização onde estamos fazendo um pedido em outro lugar.

142
00:10:11,020 --> 00:10:15,250
Assim como se eu fizesse isso e eu entrei no Enter, estamos realmente fazendo outro pedido.

143
00:10:15,280 --> 00:10:16,500
A mesma idéia aqui.

144
00:10:16,680 --> 00:10:17,880
Quando eu acertar, envie.

145
00:10:18,100 --> 00:10:21,060
Continue assistindo aqui, faz uma solicitação sempre.

146
00:10:21,310 --> 00:10:28,440
Então, é tudo o que quero falar sobre esta introdução dois servidores e duas rotas e HTP.

147
00:10:28,620 --> 00:10:29,890
Já terminamos por enquanto.

148
00:10:29,880 --> 00:10:35,220
Então, em seguida, vamos nos concentrar em criar o nosso ambiente de desenvolvedor configurado e instalar todas as ferramentas que

149
00:10:35,230 --> 00:10:38,230
você precisa para que possamos começar a escrever código como este.
