Um momento
Aula 12
Cursos / GraphQL com Express (Servidor Backend API JSON)
Criando um Schema de GraphQL para o Produto

Summary

Resumo do Transcript

No vídeo, o apresentador discute a criação de um sistema para gerenciar produtos e companhias usando GraphQL. Aqui estão os principais pontos abordados:

Introdução

  • O apresentador retorna ao projeto e remove um console.
  • Ele revisita as queries já feitas para buscar companhias por ID.

Criação de Produtos

  • O foco agora é agregar a funcionalidade para os produtos.
  • É mencionado que as companhias têm múltiplos produtos.

Implementação

  • O apresentador inicia uma nova query para obter produtos.
  • Criação de um novo tipo de GraphQL chamado Produto, que inclui campos como ID, nome do produto e ID da companhia.
  • A função API.findProducts é utilizada para simular uma API externa e retornar os produtos.

Definições

  • Utiliza GraphQL object type para definir o tipo Produto com campos: id, nome, e companhia ID.
  • Exemplos de produtos são definidos (iPhone e iPad) e associados a uma companhia ID específica.

Simulação de Resposta

  • Uma promessa é utilizada para simular o retorno dos produtos após um tempo de espera.

Problemas e Soluções

  • Apresentador encontra um erro relacionado a definições de tipo e corrige, garantindo que os produtos sejam tratados como uma lista.

Próximos Passos

  • Aborda a necessidade de relacionar produtos com suas companhias na próxima aula, permitindo buscar produtos específicos de uma companhia.

A sessão termina com a promessa de que a próxima parte abordará a implementação de relacionamentos entre produtos e companhias.

Video Transcript

Malu, pessoal, estamos de volta. Deixa eu remover esse console logo daqui, do companhia tá. Então, a gente fez a query pra pegar todas as companhias e pra pegar uma companhia por ID. Legal. Então, vamos continuar nosso relacionamento. A gente já aprendeu que a companhia tem vários produtos. Então, vamos fazer os produtos. Então, vamos lá. Eu vou aqui. A gente vai fazer uma nova... novo tipo de query pra pegar os produtos. Tá? Aí, depois, a gente vai conectar com a companhia. Então, deixa eu adicionar produtos aqui. Então, essa query, vamos fazer juntos. Produtos tipo é o quê? A gente não tem produto type ainda, mas a gente vai fazer já já. Produto type. Args. Não tem Args. Então, vou tirar. Resolve. Resolve. Tem que pegar API, se lembra? Então, a gente vai usar API.findProducts pra simular outro API externo. Vamos dizer API.findProducts, que vai retornar o promesso e retorna o resolve. Tá? Então, vamos definir o produto type aqui em cima. Antes do companhia type, com os produtos type. New GraphQL object type. Passa um objeto. Qual o nome? Name? Produto. Qual as fields? Camps? Primeiro ID. Vai ser type GraphQL int, mesma coisa. Vamos também passar o nome do produto. Vamos usar a mesma coisa, basicamente. GraphQL string. Tá? E vão também adicionar a relacionamento. O ID. Começa só pro companhia ID. Type. GraphQL int. Só pra ter aqui, mas depois a gente vai definir relacionamento. Então, esse produto pertence à companhia com o ID aqui. Então, vamos salvar. E vai ir lá pra API, fazer um arquivo. Vai lá index.js. Módulo.exports. Fazer aquela mesma coisa. FindProducts. Vamos retornar a nova promessa. Resolve.reject. Então, vamos fazer o banco de dados só aqui. Let. Product.b. Vamos usar a lista. Aí, vamos fazer um produto. Pra API vai ser... Vamos usar outro ID aqui, sei lá. Aqui a gente tem... Parece que aí deu o mesmo. Então... O nome vai ser iPhone. Companhia ID. Se você olhar na banco de dados fácil vai ter ID 1. Aí faz mais. Zé. Sei lá, iPad. Companhia ID 1. Deixa o só assim mesmo, depois a gente faz mais para as outras companhias. Então, iPad ou iPhone. Aí retorna aqui do new promise. Você vai dar o set time out para simular uma espera. 300. E vamos retornar... Não retornar, mas resolver com produtos. Simular como se fosse uma API externa, tá? Em outro lugar. Com isso, a gente vai aqui de volta ao esquema. Vamos requerer lá em cima. É, produto require.bpibarra... Pode pôr o index, mas se for o nome especificamente index não precisa dizer. Ah? Legal, vamos ver se funciona essa query. Está aqui, retorna, findProduce. Deixa eu dizer outra aqui. Produtos... Ah... ID, nome. Opanhia ID. API não está definida. Ah, desculpa. RAPI, não produto. Aqui em cima. Você dá o require API, não produto. Alvar, de novo. Legal. Legal. Deu problema porque a gente esqueceu de fazer lista. Pro... Produtos é plural, não é segundo lá, então esse tem que ser o quê? Esse tipo. New. RAPQL. List. Tá? Salva. Tá? Salva. Tá aí. Então, eu espero pegar todos os produtos. iPhone, iPad, companhia ID.1, mas não tem relacionamento com companhia agora. A gente só sabe o ID. Então a gente tem que arreglar o maneiro de fazer o seguinte. Você está aqui em cima na companhia, ó. Você pode dizer, eu quero os produtos. E para cada produto, me dê o nome do produto. Ou qualquer coisa mais. Então a gente tem que fazer relacionamento na próxima aula. Até lá.
Nenhum comentário ainda (loading...)
Nenhum comentário ainda (loading...)
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: