is 'data' wrapper for graphql obsolete for responses

Solution 1:

There is a data field because in addition there can be an errors field, too. In fact, if the query errored, there may only be an errors field and no data. In addition to those two, it's also possible to have a third key called extensions for - you guessed it - custom extensions.

For more information, read section 7.2 of the GraphQL Draft Specification.