﻿1
00:00:01,290 --> 00:00:03,700
‫Depois de obter e postar, vamos aprender como

2
00:00:03,700 --> 00:00:05,320
‫lidar com solicitações de

3
00:00:05,320 --> 00:00:07,273
‫patch para realmente atualizar os dados.

4
00:00:08,350 --> 00:00:10,420
‫E tenho quase certeza de que, a esta

5
00:00:10,420 --> 00:00:11,960
‫altura, você já tem uma boa

6
00:00:11,960 --> 00:00:13,460
‫ideia de como faremos isso.

7
00:00:14,670 --> 00:00:16,853
‫Então, vamos fazer isso após a

8
00:00:18,260 --> 00:00:19,653
‫postagem, aqui embaixo, e

9
00:00:20,840 --> 00:00:24,150
‫lembre-se de que, na verdade, temos dois métodos http para

10
00:00:24,150 --> 00:00:25,400
‫atualizar os dados.

11
00:00:25,400 --> 00:00:27,690
‫Colocamos e temos patch.

12
00:00:27,690 --> 00:00:30,580
‫E com put, esperamos que

13
00:00:30,580 --> 00:00:33,770
‫nosso aplicativo receba todo o novo objeto

14
00:00:33,770 --> 00:00:36,854
‫atualizado, e com patch, esperamos apenas as

15
00:00:36,854 --> 00:00:40,670
‫propriedades que devem realmente ser atualizadas no objeto, certo?

16
00:00:40,670 --> 00:00:42,540
‫Normalmente, gosto de usar

17
00:00:42,540 --> 00:00:46,290
‫patch, porque acho mais fácil simplesmente atualizar as propriedades

18
00:00:46,290 --> 00:00:47,950
‫que foram atualizadas.

19
00:00:47,950 --> 00:00:51,000
‫Pelo menos, quando começarmos a usar MongoDB

20
00:00:51,000 --> 00:00:54,690
‫e Mongoose, será muito mais fácil fazer assim, certo?

21
00:00:54,690 --> 00:00:56,410
‫E também é mais fácil

22
00:00:56,410 --> 00:00:58,850
‫para o usuário simplesmente enviar os dados que estão

23
00:00:58,850 --> 00:01:01,723
‫mudando, em vez de ter que enviar o novo objeto inteiro.

24
00:01:02,640 --> 00:01:05,000
‫Então, novamente, faremos nosso aplicativo funcionar para

25
00:01:05,000 --> 00:01:07,033
‫corrigir e não para colocar.

26
00:01:08,100 --> 00:01:12,460
‫Portanto, esperamos que uma solicitação de patch chegue na

27
00:01:13,335 --> 00:01:18,335
‫URL como antes, "api / v1 / tours", e agora

28
00:01:19,760 --> 00:01:22,490
‫também precisamos do ID do tour

29
00:01:22,490 --> 00:01:24,910
‫que deve ser atualizado.

30
00:01:24,910 --> 00:01:27,610
‫E isso é a barra e, em seguida, "id. "Ok, então

31
00:01:27,610 --> 00:01:30,853
‫foi isso que aprendemos na última aula.

32
00:01:33,510 --> 00:01:36,830
‫Então, o que queremos fazer quando houver uma solicitação de

33
00:01:36,830 --> 00:01:39,260
‫patch, quando quisermos atualizar os dados?

34
00:01:39,260 --> 00:01:41,400
‫Bem, na verdade, não vou implementar

35
00:01:41,400 --> 00:01:44,160
‫essa operação aqui, porque isso é apenas uma

36
00:01:44,160 --> 00:01:45,750
‫questão de escrever um

37
00:01:45,750 --> 00:01:47,670
‫pouco mais de JavaScript que

38
00:01:47,670 --> 00:01:52,070
‫não é muito importante, porque, novamente, isso é apenas testar arquivos usando API.

39
00:01:52,070 --> 00:01:54,870
‫No mundo real, nunca vamos usar arquivos

40
00:01:54,870 --> 00:01:56,280
‫para isso, ok.

41
00:01:56,280 --> 00:01:59,020
‫Então, estou apenas implementando todos esses verbos

42
00:01:59,020 --> 00:02:01,840
‫aqui para que você tenha uma boa

43
00:02:01,840 --> 00:02:03,405
‫ideia dos diferentes

44
00:02:03,405 --> 00:02:06,730
‫verbos que usamos com http, o tipo de código

45
00:02:06,730 --> 00:02:10,220
‫de status que enviamos de volta, por exemplo, aqui

46
00:02:10,220 --> 00:02:13,720
‫enviamos 201, enquanto aqui enviamos 200 e 400, e

47
00:02:13,720 --> 00:02:16,410
‫também, por exemplo, aqui, quando tínhamos vários

48
00:02:16,410 --> 00:02:19,343
‫tours, enviamos os resultados, e quando criamos um

49
00:02:20,370 --> 00:02:24,170
‫novo tour, enviamos esses dados de volta imediatamente, com este

50
00:02:24,170 --> 00:02:28,020
‫newTour que foi criado, e esse é o tipo de

51
00:02:28,020 --> 00:02:30,410
‫coisa que eu quero que você

52
00:02:30,410 --> 00:02:32,290
‫aprenda agora, nesta seção.

53
00:02:32,290 --> 00:02:35,600
‫Então, o básico de trabalhar com o Express, é

54
00:02:35,600 --> 00:02:39,270
‫claro, e também, a forma correta de enviar respostas da

55
00:02:39,270 --> 00:02:42,960
‫API, ok, e então, novamente, não vou implementar a atualização

56
00:02:42,960 --> 00:02:45,540
‫do tour aqui, porque seria muito

57
00:02:45,540 --> 00:02:49,059
‫de trabalho, você teria que obter o passeio do

58
00:02:49,059 --> 00:02:53,360
‫arquivo JSON, em seguida, alterar esse passeio e salvá-lo novamente no arquivo.

59
00:02:53,360 --> 00:02:55,370
‫E isso é um pouco

60
00:02:55,370 --> 00:02:57,130
‫demais aqui, então

61
00:02:57,130 --> 00:02:59,690
‫vamos simplesmente enviar uma resposta padrão.

62
00:02:59,690 --> 00:03:04,517
‫Então, "resposta. status ", e ainda usaremos

63
00:03:05,720 --> 00:03:08,100
‫200 aqui, então quando

64
00:03:08,100 --> 00:03:10,910
‫atualizamos um objeto ou recurso, enviamos

65
00:03:10,910 --> 00:03:12,603
‫de volta

66
00:03:13,532 --> 00:03:16,210
‫200, ok, e então o

67
00:03:18,810 --> 00:03:22,453
‫JSON usual com o status de sucesso.

68
00:03:24,190 --> 00:03:26,890
‫E então enviamos de volta os dados e, neste

69
00:03:26,890 --> 00:03:28,163
‫caso, o tour atualizado.

70
00:03:30,650 --> 00:03:33,360
‫Então dizemos "tour" e aqui, nesta

71
00:03:33,360 --> 00:03:36,880
‫posição, enviaríamos de volta o tour atualizado, ok.

72
00:03:36,880 --> 00:03:40,933
‫Agora, vou enviar de volta uma string que diz como, "tour

73
00:03:43,677 --> 00:03:46,650
‫atualizado aqui ... ," algo assim.

74
00:03:46,650 --> 00:03:48,950
‫Então, basicamente, apenas um espaço reservado aqui.

75
00:03:48,950 --> 00:03:53,720
‫E também podemos meio que implementar esse código aqui,

76
00:03:53,720 --> 00:03:57,490
‫para enviá-lo apenas quando o ID

77
00:03:57,490 --> 00:04:01,590
‫for realmente válido, vamos ver isso a partir

78
00:04:01,590 --> 00:04:06,590
‫daqui e, dessa forma, também podemos usar esse ID aqui.

79
00:04:06,790 --> 00:04:07,623
‫Direito.

80
00:04:08,890 --> 00:04:10,440
‫Então não vamos fazer

81
00:04:10,440 --> 00:04:13,653
‫este porque não temos nenhuma turnê, mas vamos usar este.

82
00:04:15,060 --> 00:04:20,040
‫Portanto, este será "req. params. id "e estou

83
00:04:20,040 --> 00:04:24,410
‫convertendo em um número aqui também, vezes 1, e se for

84
00:04:24,410 --> 00:04:27,230
‫maior que a duração do passeio, bem,

85
00:04:27,230 --> 00:04:29,980
‫como antes, é um ID inválido

86
00:04:29,980 --> 00:04:33,000
‫e enviamos um 404, para não encontrado .

87
00:04:33,000 --> 00:04:36,283
‫E assim, agora devemos estar prontos para testá-lo.

88
00:04:38,560 --> 00:04:41,740
‫Então, vamos primeiro salvar a solicitação que fizemos

89
00:04:41,740 --> 00:04:43,540
‫na aula anterior.

90
00:04:45,510 --> 00:04:48,667
‫Portanto, basta "Obter o tour. "E vou seguir

91
00:04:50,120 --> 00:04:53,163
‫em frente e copiar este aqui.

92
00:04:58,100 --> 00:05:02,190
‫E vamos especificar o método do patch.

93
00:05:02,190 --> 00:05:05,580
‫Esse é o patch, e vou salvá-lo aqui imediatamente como "Tour de

94
00:05:08,347 --> 00:05:09,427
‫atualização. "Ok,

95
00:05:11,180 --> 00:05:14,250
‫e você vê que este aqui tem esse texto

96
00:05:14,250 --> 00:05:16,770
‫cinza, então eles são muito fáceis de

97
00:05:16,770 --> 00:05:18,623
‫distinguir aqui nesta coluna lateral.

98
00:05:20,330 --> 00:05:24,100
‫Na verdade, devemos especificar algum corpo aqui, então vamos

99
00:05:24,100 --> 00:05:26,350
‫seguir em frente e copiá-lo daqui,

100
00:05:29,300 --> 00:05:34,300
‫então lembre-se, corpo, bruto e JSON, assim, e então, vamos dizer que

101
00:05:34,506 --> 00:05:35,653
‫tudo o

102
00:05:36,600 --> 00:05:39,150
‫que eu quero fazer é mudar

103
00:05:39,150 --> 00:05:42,733
‫o tour número três, digamos, então vamos dar uma

104
00:05:43,600 --> 00:05:47,320
‫olhada naquele, então, um, dois, três, e eu quero

105
00:05:47,320 --> 00:05:49,570
‫mudar a duração para quinze.

106
00:05:53,330 --> 00:05:55,133
‫OK. Salvando novamente.

107
00:05:56,410 --> 00:05:57,940
‫Vou salvar este também,

108
00:05:57,940 --> 00:06:01,910
‫porque então ele realmente salvará este texto aqui em um corpo, e se

109
00:06:01,910 --> 00:06:04,770
‫eu fechar e abrir novamente mais tarde, então todo esse

110
00:06:04,770 --> 00:06:06,730
‫texto aqui está de volta, e

111
00:06:06,730 --> 00:06:09,083
‫isso fará minha vida muito mais fácil então.

112
00:06:10,450 --> 00:06:12,410
‫Ok, mas de qualquer maneira, de volta a este.

113
00:06:12,410 --> 00:06:14,270
‫Definimos a duração para quinze.

114
00:06:14,270 --> 00:06:16,100
‫Agora, tenha em mente

115
00:06:16,100 --> 00:06:18,030
‫que isso obviamente não mudará

116
00:06:18,030 --> 00:06:20,417
‫nada nos dados, porque não implementamos isso.

117
00:06:20,417 --> 00:06:23,980
‫Ok, então estou enviando a resposta agora.

118
00:06:23,980 --> 00:06:27,808
‫E então, aqui vemos "updated_tour_here ... , "exatamente no

119
00:06:27,808 --> 00:06:30,070
‫lugar onde, no mundo real,

120
00:06:30,070 --> 00:06:33,130
‫obteríamos os dados atualizados de volta.

121
00:06:33,130 --> 00:06:36,083
‫Certo, só para testar com uma ID errada, obtemos esta

122
00:06:37,050 --> 00:06:40,160
‫"falha" e esta "ID inválida. "Ok,

123
00:06:40,160 --> 00:06:43,750
‫então salve-o e feche-o, e

124
00:06:43,750 --> 00:06:46,870
‫vou fechar este também.

125
00:06:46,870 --> 00:06:50,830
‫Ok, quase concluímos as operações CRUD, então crie, leia, atualize

126
00:06:50,830 --> 00:06:54,864
‫e exclua, e como você pode ouvir, o último que

127
00:06:54,864 --> 00:06:57,560
‫está faltando é excluir, então vamos

128
00:06:57,560 --> 00:07:00,010
‫cuidar disso no próximo vídeo.

