Что такое API простыми словами для начинающих с нуля

Подробно разбираемся в API с нуля: зачем он нужен, как устроен и как создать простой API на Node.js и Java.

Время чтения: 5 минут
Гарантия закреплена в официальном договоре, ты можешь это проверить. Отправим договор после бесплатной консультации.
Если не сможешь найти работу, вернем 110% от стоимости курса.
Получи
ИТ-профессию
с гарантией
трудоустройства!
Что такое API? Простое объяснение
API (Application Programming Interface, или программный интерфейс приложения) — это набор правил, по которым одна программа может обращаться к другой, получать от нее данные или использовать ее функции.

Например, ты заказываешь доставку еды. На сайте или в приложении ресторана ты выбираешь блюда и указываешь свой адрес. Скорее всего ресторан организовывает доставку через компанию-партнера. Поэтому информация о твоем заказе уходит через API в сервис доставки. В ответ приходят данные о стоимости и времени доставки.

Таким образом, ты можешь представить API как невидимые провода между сервисами разных приложений или внутри одного проекта. По этим “проводам” по запросу передается необходимая информация. Схема передачи выглядит так:
Программа → запрос → API → сервер → ответ → программа
Где используется API? Примеры
API нужен, чтобы программы могли взаимодействовать друг с другом. Поэтому он используется везде, где одной программе нужны данные из другой. А также в рамках одного проекта, например, для связи фронтенда и бэкэнда.
Примеры использования API
  • Сайт отправляет данные в платежный сервис и получает ответ: удалось ли провести оплату.
  • Приложение с картами получает данные о маршруте и показывает, как добраться до нужного места.
  • Сайт обращается к сервису авторизации, чтобы пользователь мог войти в свой аккаунт.
  • Приложение такси получает информацию о том, где находится машина и когда она приедет.
  • Интернет-магазин получает через API из учетной системы актуальные цены и информацию о наличии товаров.

Как работает API простыми словами

Разберем процесс на простом примере. Допустим, приложение интернет-магазина должно показать пользователю список его заказов.

  1. Пользователь открывает раздел «Мои заказы».
  2. Приложение отправляет запрос к API.
  3. API принимает запрос и передает его нужной части сервера.
  4. Сервер находит информацию о заказах.
  5. Сервер формирует ответ.
  6. API возвращает ответ приложению.
  7. Приложение показывает заказы пользователю.
Основа работы API — это запрос и ответ.
  • Запрос (request) — сообщение от программы к серверу: например, «покажи мои заказы».
  • Ответ (response) — результат обработки запроса: например, список найденных заказов.
С нуля до первой работы: с ментором, поддержкой на каждом этапе
и с гибким форматом оплаты
Обучение в IT с фокусом на трудоустройство
Как работает API с точки зрения программиста
API создает и настраивает разработчик. Он заранее определяет возможности API и их ограничения. Разработчик решает:

  • Какие запросы будет принимать API,
  • Какие действия сможет выполнять API,
  • Какие данные API станет возвращать в ответ.
Представим, что для API интернет-магазина наш разработчик настроил такие возможности:
  • Получать список заказов;
  • Показывать статус конкретного заказа;
  • Создавать новый заказ;
  • Изменять данные заказа.
Для каждого действия он прописывает отдельные правила:
  • Какой запрос нужно отправить;
  • Что должно произойти после его получения;
  • Какой ответ вернуть.
API может задействовать разные маршруты для получения необходимых данных, разберем их подробнее.
Как работает API между фронтендом и бэкендом
Вернемся к пользователю, который хочет посмотреть список своих заказов в интернет-магазине. Чтобы это стало возможным, разработчик создал маршрут для API, ведущий к базе данных:
GET/api/orders
Когда пользователь нажимает на кнопку «Мои заказы», запрос приходит на сервер, серверная логика обрабатывает его и при необходимости обращается к базе данных.
[
  {
    "id": 125,
    "status": "Доставлен",
    "sum": 3500
  },
  {
    "id": 138,
    "status": "В пути",
    "sum": 2100
  }
]
Приложение получает ответ и показывает заказы пользователю.
Получается такая цепочка:
фронтенд → API → бэкенд → база данных → бэкенд → API → фронтенд
Если разработчик не предусмотрел в API конкретные возможности, например, удалить заказ, отправить такой запрос не получится.
Учись на практике с личной поддержкой ментора, карьерного консультанта и коуча ICF!
Сопровождаем до оффера
Как работает API между сервисами внутри одного приложения
Большое приложение может состоять из нескольких отдельных сервисов, каждый из которых отвечает за свою задачу. Например, в онлайн-кинотеатре сервис с фильмами может запросить у сервиса рекомендаций список фильмов, которые стоит показать конкретному пользователю.
Запрос может выглядеть так:
GET /api/recommendations?user_id=125
Сервис рекомендаций обработает запрос и вернет список подходящих фильмов.
В отличие от первого варианта, здесь API связывает не пользовательский интерфейс с серверной частью, а два отдельных сервиса внутри одного приложения. Пользователь напрямую с этим API не взаимодействует — запросы отправляют сами сервисы.
Как API получает данные сторонних сервисов?
API может получать данные не только из своей базы данных, но и обращаться к API других сервисов. Например, приложение может получать через API прогноз погоды, курсы валют, информацию о рейсах, данные о книгах и фильмах или новости.
Доступ к стороннему API зависит от его типа:
  • Открытое API предназначено для сторонних разработчиков. Обычно достаточно зарегистрироваться на сайте сервиса, получить API-ключ и соблюдать условия использования.
  • Закрытое API доступно только определенным пользователям или компаниям. Например, платежная система или служба доставки может потребовать регистрацию, заключение договора, проверку бизнеса и только после этого предоставить доступ.
Разработчик не подключается напрямую к базе данных другого сервиса. Он получает доступ к API и отправляет ему запросы в соответствии с документацией. Например, приложение хочет узнать курс евро и отправляет запрос:
GET https://api.example.com/rates?currency=EUR&api_key=ВАШ_КЛЮЧ
Сервис проверяет ключ, обрабатывает запрос и возвращает данные:
{
  "currency": "EUR",
  "rate": 91.45
}
Приложение получает ответ и может показать курс пользователю. Какие данные можно получить, какие запросы отправлять и нужен ли ключ или дополнительное подключение, определяет владелец стороннего API.
Устройся на работу в ИТ с гарантированной зарплатой от 120 000 рублей без опыта
Если ваша цель — работа в ИТ, приглашаем вас на программу с гарантией трудоустройства. За 9 месяцев при поддержке ментора и карьерного консультанта вы пройдете путь от нуля до оффера.
Направления:
  • Бэкенд на Java
  • Бэкенд на Go
  • Фронтенд на JavaScript
  • Программирование на 1С
Бэкенд-разработчикам мы гарантируем зарплату от 120 000 рублей при первом трудоустройстве. Фронтенд-разработчикам — от 100 000 рублей.
Можно начать с нуля, без опыта в сфере ИТ. Все условия закреплены в договоре.
Оставь заявку на бесплатную консультацию, чтобы узнать подробности. Выбери удобный способ:



Какие бывают API
API можно создавать и организовывать по-разному. В разработке чаще всего встречаются REST API, SOAP, GraphQL и gRPC. Они отличаются прежде всего способом обмена данными и правилами, по которым одна программа отправляет запросы и получает ответы от другой.

Далее подробнее разберем REST API — один из самых распространенных вариантов для сайтов и приложений.
Что такое REST API: HTTP-методы, запросы и ответы
REST (Representational State Transfer) — это архитектурный стиль построения API. В REST API ресурсы идентифицируются URI, а взаимодействие с ними обычно выполняется с помощью стандартных HTTP-методов.
HTTP-запросы:
  • GET — получить данные;
  • POST — создать новые данные;
  • PUT — изменить существующие данные;
  • DELETE — удалить данные;
  • PATCH — частично изменить.
Чтобы обратиться к API, программа отправляет запрос. Если API работает по протоколу HTTP, это будет HTTP-запрос. Путь состоит из трех этапов:
HTTP-запрос → HTTP-ответ → статус результата.
HTTP-запрос
HTTP-запрос содержит метод и адрес (endpoint). Метод показывает, какое действие нужно выполнить, а адрес указывает, с каким ресурсом нужно работать.
Например:
GET /api/products/125 — получить данные товара с номером 125;
POST /api/products — создать новый товар.
Но метод и адрес — не единственные части HTTP-запроса. При необходимости он также содержит заголовки (headers) и тело запроса (body).
Например:
POST /api/users
Content-Type: application/json
Authorization: Bearer …

Здесь POST — метод, 
/api/users — адрес ресурса, 
Content-Type и Authorization — заголовки с дополнительной информацией.

В теле запроса (body) можно передать данные, например:
{
  "username": "user",
  "email": "test@example.com"
}
В этом случае программа отправляет API данные нового пользователя, которые оно должно обработать.

Конкретные возможности API зависят от того, что предусмотрел разработчик: не каждый API настроен поддерживать все четыре метода.

HTTP-ответ
После обработки запроса сервер отправляет HTTP-ответ. В нем есть статус-код, который показывает, чем завершилась обработка запроса.
Например:
  • 200 OK — запрос успешно обработан;
  • 201 Created — ресурс успешно создан;
  • 204 No Content — запрос успешно обработан, но тело ответа отсутствует;
  • 400 Bad Request — запрос составлен некорректно;
  • 401 Unauthorized — для выполнения запроса требуется аутентификация;
  • 403 Forbidden — доступ к ресурсу запрещён;
  • 404 Not Found — запрошенный ресурс не найден;
  • 500 Internal Server Error — на стороне сервера произошла ошибка.
Например, если отправить запрос GET /api/products/125 и товар с таким номером существует, сервер может вернуть статус 200 OK и передать данные товара в теле ответа.
HTTP/1.1 200 OK
Content-Type: application/json

А в теле ответа — данные товара:
{
  "id": 125,
  "name": "Ноутбук",
  "price": 89990
}
Узнай свою рыночную зарплату за 1 минуту!
IT-калькулятор зарплат
Что такое Endpoint в API?
Endpoint — это конкретная точка API, через которую программа может получить данные или выполнить определенное действие. В HTTP API endpoint обычно определяется сочетанием HTTP-метода и адреса ресурса.
Например:
GET /api/products/125
Здесь GET указывает, что мы хотим получить данные, а /api/products/125 — путь к конкретному товару. Вместе они определяют endpoint для получения этого товара.
Если посмотреть на полный адрес запроса, он может выглядеть так:
https://example.com/api/products/125

Здесь:
https:// — протокол;
example.com — хост (доменное имя);
/api/products/125 — путь (path) к ресурсу.
В разговорной речи часто уравнивают endpoint и URL, но это не одно и то же. URL — это полный адрес ресурса, а endpoint в API описывает конкретную точку взаимодействия с ним.

Также важно не путать endpoint с базой данных. Запрос приходит на сервер, дальше работает код, который при необходимости обращается к базе данных и формирует ответ.

Как создать свой API
Теперь разберемся на практике, как разработчик может создать простой API. Для примера сделаем небольшое API интернет-магазина, которое возвращает список товаров.

Для этого понадобится HTTP-сервер, который будет принимать запросы клиентов и формировать ответы. Серверная часть приложения может содержать бизнес-логику, работу с базой данных, авторизацию и так далее.

В качестве примеров рассмотрим Node.js и Java — два популярных инструмента, которые используются для создания серверных приложений и API.

Необязательно сразу разбираться во всем коде. Наша задача — понять общий принцип: разработчик создает endpoint, прописывает, что должно происходить при запросе, и определяет, какой ответ получит программа.
Учись на практике с личной поддержкой ментора, карьерного консультанта и коуча ICF! Сопровождаем до оффера ⚡
Курс «Java-разработчик»
с гарантией трудоустройства
Как создать API на Node.js
Node.js позволяет использовать JavaScript для создания серверной части сайта или приложения. Разработчики часто используют Express — веб-фреймворк для Node.js, который упрощает создание HTTP-серверов и API.

Создадим простой endpoint, который будет возвращать список товаров.
Сначала подключаем Express и создаем серверную часть для нашего API:
const express = require('express');
const app = express();
Теперь создаем маршрут API. В нашем примере это /api/products. Он будет принимать GET-запросы:
app.get('/api/products', (req, res) => {


app.get(
'/api/products',   // endpoint
(req, res) => {}   // обработчик запроса
)
GET — HTTP-метод;
/api/products — путь endpoint;
req — объект входящего HTTP-запроса;
res — объект, через который сервер формирует ответ.
Дальше указываем, какие данные нужно вернуть в ответ на запрос. Для простоты запишем товары прямо в коде:
 res.json([
    {
      id: 1,
      name: 'Футболка',
      price: 3500
    },
    {
      id: 2,
      name: 'Джинсы',
      price: 6000
    }
  ]);
});
Здесь res.json() отправляет данные обратно программе в формате JSON (текстовый формат для хранения и передачи данных между программами).

Важно понимать, что при успешном запросе сервер обычно возвращает HTTP status 200 OK вместе с JSON:
HTTP/1.1 200 OK
Content-Type: application/json
[
	{
		"id": 1,
		name": "Футболка",
		"price": 3500
	}
] 

Осталось запустить сервер:
app.listen(3000);

Теперь программа может отправить запрос:
GET http://localhost:3000/api/products

и получить список товаров.
Как создать API на Java
На Java API часто создают с помощью Spring Boot — популярного инструмента для разработки серверных приложений.
Простой endpoint может выглядеть так:
@RestController
@RequestMapping("/api/products")
public class ProductController {

    @GetMapping
    public List<Product> getProducts() {
        return List.of(
            new Product(1, "Футболка", 3500),
            new Product(2, "Джинсы", 6000)
        );
    }
}
  • Аннотации @RestController, @RequestMapping и @GetMapping предоставляются Spring Web.
  • @RestController говорит Spring, что класс содержит обработчики HTTP-запросов, а возвращаемые значения методов должны использоваться как тело HTTP-ответа.
  • @RequestMapping("/api/products") задает общий путь для endpoint'ов этого контроллера.

Здесь тоже происходит знакомая нам операция. Разработчик говорит программе: если приходит GET-запрос на /api/products, нужно вернуть список товаров.
В реальных проектах код сложнее:
HTTP request → Controller → Service → Repository → Database
В нашем примере контроллер сам создает список товаров. В реальном приложении контроллер обычно не занимается получением данных из базы напрямую.
Чем отличается код на Node.js/Express и Spring Boot?
Отличается синтаксис, но концепция одна и та же: зарегистрировать endpoint и определить обработчик входящего HTTP-запроса.

Node.js/Express <-> Spring Boot
app.get(...) <-> @GetMapping
'/api/products' <-> @RequestMapping + @GetMapping
req <-> HttpServletRequest / параметры Spring
res.json(...) <-> возвращаемое значение метода
app.listen(3000) <-> встроенный сервер Spring Boot
Главное про API
API — это способ связать разные программы и дать им возможность обмениваться данными. Одна программа отправляет запрос, другая его обрабатывает и возвращает ответ.

API может использоваться внутри одного приложения, между отдельными сервисами или для подключения к сторонним сервисам. Например, с его помощью можно получить данные о погоде, показать маршрут на карте или передать запрос на оплату.

Если ты только начинаешь изучать программирование, достаточно запомнить главное: API определяет, какие запросы можно отправить, что произойдет после запроса и какой ответ получит программа. На этом принципе строится взаимодействие большого количества современных сайтов и приложений.

А если хочешь выйти на профессиональный уровень программирования и найти работу в ИТ, приходи на программу с гарантией трудоустройства: 9 месяцев с нуля до оффера. Зарплата после выпуска от 120 000 рублей для бэкенд-разработчиков.

📍 Все условия и гарантии прописаны в официальном договоре. Чтобы узнать подробности, запишись на бесплатную консультацию. С тобой свяжется наш куратор и ответит на все вопросы.

Статьи для старта в IT

Истории наших выпускников

Стань тем, кто задаёт тон в ИТ!
Подпишись на нашу рассылку и первым получай статьи по Java, JavaScript, Go и QA. Позволь себе быть экспертом!