Vì field lỗi được khai báo không cho phép null: khi resolver không trả về được giá trị, lỗi lan lên field cha gần nhất cho phép null.
Nếu cả chuỗi đều không cho phép null thì lan tới tận gốc.
type Post { author: User! } # non-null: an author error nulls the whole Post
type Post2 { author: User } # nullable: only this field becomes nullĐây là lý do chiến lược để phần lớn field cho phép null được nhiều đội lớn áp dụng. Mất một mẩu dữ liệu là chấp nhận được; mất cả màn hình vì một downstream service chập chờn thì không.
Các field nên giữ không null: id và các field tính từ chính record. Các field lấy từ dịch vụ khác, từ cache bên ngoài, hoặc có thể chậm thì nên cho phép null.
Việc nên làm song song: khi một field trả về null vì lỗi, ghi lỗi đó vào mảng errors kèm đường dẫn tới field, để client phân biệt được giữa không có dữ liệu và lấy dữ liệu thất bại — hai trường hợp cần hiển thị khác nhau.