Tengo una consulta GraphQl súper simple, pero tengo problemas para hacer que la consulta sea dinámica según la entrada. Digamos que obtendrá una cadena en javascript que desea pasar a la consulta, ¿cómo se hace? Tome el ejemplo a continuación, ¿cómo reemplazaría la cadena codificada de "3111" en el campo Sku en el producto pero en su lugar insertaría el valor de la variable myString? Solo obtengo errores cuando trato de pasarlo.
let myString = "3111" `query getProductBySku { site { product(sku: "3111") { id entityId name sku } } }`Eche un vistazo aquí: https://graphql.org/graphql-js/passing-arguments/
En el escenario de su caso:
var query = `query getProductBySku($sku: String) { site { product(sku: $sku) { id entityId name sku } } } `; fetch('/graphql', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', }, body: JSON.stringify({ query, variables: { "3111" }, // this refers to SKU }) }) .then(r => r.json()) .then(data => console.log('data returned:', data));Básicamente, aparte de crear una consulta que permita el paso del argumento, necesita una solicitud POST con la configuración del cuerpo para acomodar las entradas que se espera que se cumplan