Last active
October 3, 2024 22:20
-
-
Save yusinto/30bba51b6f903c1b67e0383f4a288269 to your computer and use it in GitHub Desktop.
Graphql mutation with fetch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const updateCountryFetch = async (countryId, happinessFactor, population) => { | |
const query = JSON.stringify({ | |
query: `mutation { | |
updateCountry( | |
id: "${countryId}" | |
happinessFactor: ${happinessFactor} | |
population: ${population}) { id } | |
} | |
` | |
}); | |
const response = await fetch(graphCoolEndpoint, { | |
headers: {'content-type': 'application/json'}, | |
method: 'POST', | |
body: query, | |
}); | |
const responseJson = await response.json(); | |
return responseJson.data; | |
}; |
@mailyokesh The above example is using Template literals. To pass a variable from an argument, you just use String Interpolation. Eg. see id: "${countryId}"
.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
message: "Must provide query string."}
is what I keep getting and I'm pretty fed up with graphQL at this point.
Here is working for me
async function generateConversationWith(userId: string) {
const response = await fetch(`${process.env.API_URL}/graphql`, {
method: "POST",
credentials: "include",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
query: `
mutation GenerateChatConversationWith {
generateChatConversationWith(chatWithUserId: "${userId}") {
id
}
}`,
}),
});
const responseData = await response.json();
console.log("response", responseData);
}
Thanks @phattranky 🤝
thanks @phattranky
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
could you post an example of how to form this mutation with variables? so it can be used using fetch as well?