‫Depois de obter e postar, vamos aprender como
‫lidar com solicitações de
‫patch para realmente atualizar os dados.
‫E tenho quase certeza de que, a esta
‫altura, você já tem uma boa
‫ideia de como faremos isso.
‫Então, vamos fazer isso após a
‫postagem, aqui embaixo, e
‫lembre-se de que, na verdade, temos dois métodos http para
‫atualizar os dados.
‫Colocamos e temos patch.
‫E com put, esperamos que
‫nosso aplicativo receba todo o novo objeto
‫atualizado, e com patch, esperamos apenas as
‫propriedades que devem realmente ser atualizadas no objeto, certo?
‫Normalmente, gosto de usar
‫patch, porque acho mais fácil simplesmente atualizar as propriedades
‫que foram atualizadas.
‫Pelo menos, quando começarmos a usar MongoDB
‫e Mongoose, será muito mais fácil fazer assim, certo?
‫E também é mais fácil
‫para o usuário simplesmente enviar os dados que estão
‫mudando, em vez de ter que enviar o novo objeto inteiro.
‫Então, novamente, faremos nosso aplicativo funcionar para
‫corrigir e não para colocar.
‫Portanto, esperamos que uma solicitação de patch chegue na
‫URL como antes, "api / v1 / tours", e agora
‫também precisamos do ID do tour
‫que deve ser atualizado.
‫E isso é a barra e, em seguida, "id. "Ok, então
‫foi isso que aprendemos na última aula.
‫Então, o que queremos fazer quando houver uma solicitação de
‫patch, quando quisermos atualizar os dados?
‫Bem, na verdade, não vou implementar
‫essa operação aqui, porque isso é apenas uma
‫questão de escrever um
‫pouco mais de JavaScript que
‫não é muito importante, porque, novamente, isso é apenas testar arquivos usando API.
‫No mundo real, nunca vamos usar arquivos
‫para isso, ok.
‫Então, estou apenas implementando todos esses verbos
‫aqui para que você tenha uma boa
‫ideia dos diferentes
‫verbos que usamos com http, o tipo de código
‫de status que enviamos de volta, por exemplo, aqui
‫enviamos 201, enquanto aqui enviamos 200 e 400, e
‫também, por exemplo, aqui, quando tínhamos vários
‫tours, enviamos os resultados, e quando criamos um
‫novo tour, enviamos esses dados de volta imediatamente, com este
‫newTour que foi criado, e esse é o tipo de
‫coisa que eu quero que você
‫aprenda agora, nesta seção.
‫Então, o básico de trabalhar com o Express, é
‫claro, e também, a forma correta de enviar respostas da
‫API, ok, e então, novamente, não vou implementar a atualização
‫do tour aqui, porque seria muito
‫de trabalho, você teria que obter o passeio do
‫arquivo JSON, em seguida, alterar esse passeio e salvá-lo novamente no arquivo.
‫E isso é um pouco
‫demais aqui, então
‫vamos simplesmente enviar uma resposta padrão.
‫Então, "resposta. status ", e ainda usaremos
‫200 aqui, então quando
‫atualizamos um objeto ou recurso, enviamos
‫de volta
‫200, ok, e então o
‫JSON usual com o status de sucesso.
‫E então enviamos de volta os dados e, neste
‫caso, o tour atualizado.
‫Então dizemos "tour" e aqui, nesta
‫posição, enviaríamos de volta o tour atualizado, ok.
‫Agora, vou enviar de volta uma string que diz como, "tour
‫atualizado aqui ... ," algo assim.
‫Então, basicamente, apenas um espaço reservado aqui.
‫E também podemos meio que implementar esse código aqui,
‫para enviá-lo apenas quando o ID
‫for realmente válido, vamos ver isso a partir
‫daqui e, dessa forma, também podemos usar esse ID aqui.
‫Direito.
‫Então não vamos fazer
‫este porque não temos nenhuma turnê, mas vamos usar este.
‫Portanto, este será "req. params. id "e estou
‫convertendo em um número aqui também, vezes 1, e se for
‫maior que a duração do passeio, bem,
‫como antes, é um ID inválido
‫e enviamos um 404, para não encontrado .
‫E assim, agora devemos estar prontos para testá-lo.
‫Então, vamos primeiro salvar a solicitação que fizemos
‫na aula anterior.
‫Portanto, basta "Obter o tour. "E vou seguir
‫em frente e copiar este aqui.
‫E vamos especificar o método do patch.
‫Esse é o patch, e vou salvá-lo aqui imediatamente como "Tour de
‫atualização. "Ok,
‫e você vê que este aqui tem esse texto
‫cinza, então eles são muito fáceis de
‫distinguir aqui nesta coluna lateral.
‫Na verdade, devemos especificar algum corpo aqui, então vamos
‫seguir em frente e copiá-lo daqui,
‫então lembre-se, corpo, bruto e JSON, assim, e então, vamos dizer que
‫tudo o
‫que eu quero fazer é mudar
‫o tour número três, digamos, então vamos dar uma
‫olhada naquele, então, um, dois, três, e eu quero
‫mudar a duração para quinze.
‫OK. Salvando novamente.
‫Vou salvar este também,
‫porque então ele realmente salvará este texto aqui em um corpo, e se
‫eu fechar e abrir novamente mais tarde, então todo esse
‫texto aqui está de volta, e
‫isso fará minha vida muito mais fácil então.
‫Ok, mas de qualquer maneira, de volta a este.
‫Definimos a duração para quinze.
‫Agora, tenha em mente
‫que isso obviamente não mudará
‫nada nos dados, porque não implementamos isso.
‫Ok, então estou enviando a resposta agora.
‫E então, aqui vemos "updated_tour_here ... , "exatamente no
‫lugar onde, no mundo real,
‫obteríamos os dados atualizados de volta.
‫Certo, só para testar com uma ID errada, obtemos esta
‫"falha" e esta "ID inválida. "Ok,
‫então salve-o e feche-o, e
‫vou fechar este também.
‫Ok, quase concluímos as operações CRUD, então crie, leia, atualize
‫e exclua, e como você pode ouvir, o último que
‫está faltando é excluir, então vamos
‫cuidar disso no próximo vídeo.