Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

173
Views
El tipo de GraphQL necesita información de dos API, no quiero hacer muchas solicitudes innecesarias en la resolución

Definí un tipo que se basa en dos puntos finales de API diferentes. Llamémoslos A y B. Para la consulta getObjects quiero devolver una matriz con objetos de tipo SomeType

 type SomeType{ id: String // this comes from A url: String // this comes from B } type Query{ getObjects: [SomeType] }

Tengo un solucionador para getObjects que recupera datos del endpoint A y los alimenta en SomeType para devolver una matriz. Pero necesito resolver la URL por separado, porque la URL proviene de un endpoint B , ¿verdad? Por lo tanto, escribo un resolver para el campo url . Pero no quiero hacer una solicitud dentro de la resolución de URL, ya que significaría que hago una solicitud para cada objeto desde el endpoint A (en mi caso, ~ 18k). el punto final B devuelve un objeto con pares clave-valor. La clave es la id que obtengo del endpoint A , y el valor tiene la url .

 const resolvers = { SomeType: { url: (parent, {}, context) => { console.log(parent.id); // parent.id is needed to index the return someurl; } }, Query: { getObjects: async () => { const mainResponse = await fetch("endpoint A"); const responseForLogo = await fetch("endpoint B") const mainData = await mainResponse.json(); const secondaryData = await responseForLogo.json(); return mainData['data']; }, } }

Pero, ¿cómo puedo obtener de manera eficiente la URL de cada objeto? Una forma que imaginé era hacer la solicitud dentro del resolutor getObjects y almacenar el objeto de respuesta y acceder a él en el resolutor para url .

Espero que alguien pueda ayudarme con eso.

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!