TGViewer
.NET Разработчик .NET Разработчик @netdeveloperdiary · 6.76K subscribers
Post #1448 1.72K
День 1176. #ЗаметкиНаПолях
GraphQL или REST API. Что Использовать? Начало
REST и GraphQL — это стандартные способы разработки серверных API. В последнее десятилетие REST API доминировали, и многие компании и разработчики активно используют его в своих проектах.
Но у REST есть некоторые ограничения, и есть другая доступная альтернатива — GraphQL.

GraphQL был разработан Facebook в 2012 году для внутреннего использования и обнародован в 2015 году. Это язык запросов для API и среда исполнения для выполнения этих запросов к вашим существующим данным. Цитата с официального сайта:
«GraphQL предоставляет полное и понятное описание данных в вашем API, дает клиентам возможность запрашивать именно то, что им нужно, и ничего больше, упрощает развитие API с течением времени и предоставляет мощные инструменты разработчика.»

Проблемы с REST API
1. Запрос нескольких конечных точек
2. Получение лишних данных
3. Неполная выборка и проблема n+1 запроса
4. Медленный отклик на меняющиеся требованиями клиента
5. Высокая связанность между внутренними контроллерами и внешними представлениями

Предположим, что нам нужно показать краткую информацию о пользователе: имя, должность и текст «о себе». С REST запрос будет GET по адресу /users/1. Проблема в том, что сервер возвращает фиксированную структуру данных с множеством ненужной информации. Например:
{
"id": 1,
"name": "John Smith",
"username": "jsmith",
"email": "testemail@gmail.com",
"title": "Software Engineer",
"phone": "9876543210",
"about": "As a software engineer my daily routine revolves around writing cleancode, maintaining infrastructure, and building scalable software systems.",
"website": "https://www.jsmith.tech",
"gender": "MALE",
"city": "Denver",
"state": "Colorado",
"country": "US",
…
}

Это добавляет в каждый запрос дополнительные данные, которые не требуются клиенту, что увеличивает размер полезной нагрузки и влияет на общее время ответа на запрос. Ещё хуже, если данные выбираются из нескольких таблиц, даже если клиенту этого не нужно.

GraphQL позволяет отправить запрос только нужных данных, который будет выглядеть примерно так:
{
user(id: 1){
name
title
about
}
}

Окончание следует…

Источник:
https://www.freecodecamp.org/news/graphql-vs-rest-api/
  • 👍 11
More from @netdeveloperdiary
  1. Oct 14, 2026Post #3373
  2. Oct 13, 2026День 2813. #ЗаметкиНаПолях #Async Ещё Раз Про Async/Await в C#. Часть 1 Почему существует…
  3. Oct 12, 2026День 2812. #Карьера #AI Как Разработчикам Оставаться Полезными, Когда Код Пишет ИИ? По мер…
  4. Oct 11, 2026День 2811. #ВопросыНаСобеседовании Марк Прайс предложил свой набор из 60 вопросов (как тех…
  5. Oct 10, 2026День 2810. #ЧтоНовенького #VSCode Более Быстрый и Лёгкий C# Dev Kit Мы, разработчики, люби…
  6. Oct 9, 2026День 2809. #Карьера 5 Навыков, Которые Помогут Быстрее Стать Сеньором. Окончание Начало 3.…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →