I\'m using GraphQL and mongoose on the server.
When a validation error occurs the GraphQL mutation sends a response with status code 200. On the client side the resp
Note: This answer (and arguably the whole question) is now outdated, since mutation errors show up in catch
in more recent versions of Apollo Client.
GraphQL errors from the mutation currently show up in the errors
field on the response inside then
. I think there's definitely a claim to be made that they should show up in the catch
instead, but here's a snippet of a mutation from GitHunt:
// The container
const withData = graphql(SUBMIT_REPOSITORY_MUTATION, {
props: ({ mutate }) => ({
submit: repoFullName => mutate({
variables: { repoFullName },
}),
}),
});
// Where it's called
return submit(repoFullName).then((res) => {
if (!res.errors) {
browserHistory.push('/feed/new');
} else {
this.setState({ errors: res.errors });
}
});