I just received a question on why GraphQL always returns HTTP status 200.
The specification defines GraphQL at the application layer, but the status code reflects the status of a transport layer.
To return query statuses you need to add a type to the schema with a field for status.
type Customer {
id: Int!
name: String!
}
type CustomerResult {
status: String!
message: String
node: Customer
}
type Query {
customer(id: Int!): CustomerResult!
}