Apollo-link-rest: ¿Cómo realizar llamadas a URL arbitrarias?

Creado en 16 feb. 2019  ·  7Comentarios  ·  Fuente: apollographql/apollo-link-rest

Hola,

¿Hay alguna forma de llamar a URL arbitrarias en las consultas?

Los documentos dicen que path en la directiva @rest puede tomar una ruta o una URL completa. Sin embargo, al pasar la siguiente consulta, obtengo errores:

query getFoo {
  foo @rest(type: "Foo", path: "https://foo.com/foo") {
    bar
  }
}
Deprecated: '@rest(path:' contains a ':' colon, this format will be removed in future versions
index.js:1446 [Network error getIP]: Missing parameters to run query, specify it in the query params or use an export directive. (If you need to use ":" inside a variable string make sure to encode the variables properly using `encodeURIComponent`. Alternatively see documentation about using pathBuilder.)

Cuando paso path="${encodeURIComponent('https://foo.com/foo')}" , el enlace REST intenta llegar a https://[my current url]https%3A%2F%2Ffoo.com%2Ffoo .

pathBuilder agrega de manera similar mi ruta construida a mi URL original.

¿Es la única opción registrar cada URL que su aplicación llamará en la configuración del enlace REST? Si es así, creo que los documentos deberían actualizarse para reflejar que path no toman URL completas.

bug 🐛 help wanted 🛠

Todos 7 comentarios

Gracias por informar de esto @ timhwang21 Este es definitivamente un error que se introdujo hace aproximadamente un año.

Supongo que mucha gente configura sus "puntos finales base" una vez para todo el RestLink, así que supongo que la gente no usaba mucho esta función. - Suprimir esta advertencia y restaurar la compatibilidad con URL completas en la anotación @rest() debería ser bastante sencillo.

Apoyaría ayudar a revisar un PR si alguien quiere contribuir con la solución.

Genial, puedo tomarme un descanso durante el fin de semana. @fbartho , ¿tiene algún

@ timhwang21 Desafortunadamente, en realidad solo tenemos un archivo fuente en la base de código, no es increíblemente largo, pero supongo que necesitará cambiar varios lugares a lo largo del archivo.

Me encontré con esto y encontraría valor al permitir una URL completa en la ruta u otra opción para definir una nueva URL, como url: "https://domain.com/api/path/1" .

@ timhwang21 ¿

Mientras tanto, aquí hay un pequeño trabajo que hice para que funcionara.

  1. Especifique un punto final empty en la configuración. Tenga en cuenta que hay un espacio real en el valor empty: ' ' .
    image
  2. Use esto como el punto final en su consulta, aquí hay un ejemplo de resolución de solicitudes en cascada ...
    image

Eso es practicamente todo.

No lo he hecho, terminamos migrando nuestro servicio de descanso a GraphQL.

El lunes, 22 de julio de 2019 a las 9:14 a.m., Mat Silva [email protected] escribió:

Me encontré con esto y encontraría valor al permitir una URL completa en la ruta o
otra opción para definir una nueva URL, como url: "
https://domain.com/api/path/1 ".

@ timhwang21 https://github.com/timhwang21 ¿ pudiste azotar
¿Algo ahi?

Mientras tanto, aquí hay un pequeño trabajo que hice para que funcionara.

  1. Especifique un punto final vacío en la configuración. Tenga en cuenta que hay un
    espacio en el valor vacío: ''.
    [imagen: imagen]
    https://user-images.githubusercontent.com/4511972/61635093-c85eba80-ac60-11e9-87aa-eae6cf788e59.png
  2. Use esto como el punto final en su consulta, aquí hay un ejemplo de
    resolviendo solicitudes en cascada ...
    [imagen: imagen]
    https://user-images.githubusercontent.com/4511972/61635160-f0e6b480-ac60-11e9-8879-e78f0ae4d982.png

Eso es practicamente todo.

-
Recibes esto porque te mencionaron.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/apollographql/apollo-link-rest/issues/192?email_source=notifications&email_token=ABMPWCWNFOUEL4WFA3GSY7TQAWXEZA5CNFSM4GX3BPZ2YY3PNVWWK3TUL52HS4DFVDVREXWJWK3TUL52HS4DFVREXWJG43VKNMQH4DFVREXWG43VBC ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/ABMPWCVPMVEBZQSMS2CGQQLQAWXEZANCNFSM4GX3BPZQ
.

resto del servicio a GraphQL.

sí, eso también funcionará: sonrisa:

Me encontré con este problema al consumir una combinación de la API de Github, algunas de las cuales aún no están en su API GraphQL. Su API Rest tiene muchos campos de URL absolutos que podría exportar y reutilizar, sin embargo, la captura : impide que funcione. Sin embargo, la solución alternativa de

¿Fue útil esta página
0 / 5 - 0 calificaciones