
Введение
Скажу вам честно, когда я впервые увидел синтаксис GraphQL, я испытал знакомое неприятное чувство, такое же чувство, которое я испытывал, глядя на синтаксис PHP, Perl или Bash.
Лично я считаю, что JSON — гораздо более элегантный способ представления данных по сравнению с XML, YAML или ProtoBuf. Он минималистичный, легко читаемый, последовательный и легко интегрируется с JS/TS или Python.
Поэтому мое сердце замирает, когда я вижу, как языки запросов искажают JSON, утверждая, что у них есть способ получить из базы данных вещи, которые кажутся «знакомыми».
Я знаю, что службы и объявления GraphQL должны были быть «независимыми от языка». Таким образом, проблема была «решена» созданием нового языка. Лично мне это кажется немного забавным. Для меня это похоже на ситуацию, когда вы не хотите отдавать кому-то предпочтение, а просто отдаете предпочтение кому-то вне группы, которого все одинаково не любят.
Что ж, поскольку JS/TS де-факто является языком Интернета, который будет использоваться для запросов, не следует ли из этого, что было бы предпочтительнее использовать его, чтобы облегчить всем жизнь?
Но хватит жаловаться, я постараюсь показать вам, что я имею в виду, на конкретных примерах. Я решил основывать их на официальной документации GraphQL. (https://graphql.org/learn/schema/)
Использование TypeScript и JSON для запросов к БД
Вот небольшой надуманный пример того, как я лично хотел бы запросить базу данных. Не стесняйтесь не соглашаться.
Заключение
Я действительно хотел, чтобы это было кратким, но достаточно ясным, чтобы мои намерения были поняты.
Я действительно думаю, что что-то настолько простое, как то, что было изложено выше — конечно, не без своих проблем — может быть способом запроса баз данных. аналогично GraphQL, будучи гораздо более «элегантным» из-за того, что это не что иное, как TS на стороне клиента, которую вам придется писать в любом случае.