Giter VIP home page Giter VIP logo

Comments (6)

leebyron avatar leebyron commented on April 28, 2024 10

The data in the errors object is definitely typical for debugging. But of course the existence of an error could be used to render something in a UI about data not being available.

My suggestion for the example you bring up here is to allow for data for a user-facing report in the payload of your mutation. It's often the case that mutation payloads include a "didSucceed" field and a "userError" field. If your UI requires rich information about potential errors, then you should include this information in your payload as well. For example, maybe you want to highlight the email field red, you might include something like a boolean "wasBadEmail".

The general philosophy at play is that Errors are considered exceptional. Your user data should never be represented as an Error. If your users can do something that needs to provide negative guidance, then you should represent that kind of information in GraphQL as Data not as an Error. Errors should always represent either developer errors or exceptional circumstances (e.g. the database was offline).

from graphql-spec.

D1plo1d avatar D1plo1d commented on April 28, 2024 1

Thanks @leebyron. didSucceed and userError should work for my usage.

It might be useful to spec out userErrors somewhere similar to how Relay specifies connections and edges without necessarily including them in the GraphQL language spec. I feel like user input error handling is as common a concern as pagination in my code. Would it make any sense to consider this for a future version of Relay?

from graphql-spec.

satahippy avatar satahippy commented on April 28, 2024

+1

from graphql-spec.

sulliwane avatar sulliwane commented on April 28, 2024

+1

from graphql-spec.

CatTail avatar CatTail commented on April 28, 2024

I was wondering how facebook handle error and display related error information for user with graphql?

@leebyron

from graphql-spec.

koistya avatar koistya commented on April 28, 2024

Input validation and user-friendly error messages in GraphQL mutations on Medium.com

from graphql-spec.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.