Введение в API

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

Для чего используется API в веб-разработке

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

Как использовать API?

Шаги по внедрению нового API включают в себя:

Получение ключа API. Это делается путем создания верифицированной учетной записи у поставщика API.
Настройка HTTP-клиента API. Этот инструмент позволяет легко структурировать запросы API, используя полученные ключи API.
Если у вас нет клиента API, вы можете попробовать самостоятельно структурировать запрос в браузере, обратившись к документации по API.
Как только вы освоитесь с новым синтаксисом API, вы можете начать использовать его в своем коде.

Типы API

Существует 4 основных типа API (Application Programming Interface) по политике доступности/выпуска:.

1.Открытые API (Public API) — общедоступны для разработчиков и других пользователей с минимальными ограничениями. Они могут требовать регистрации, использования API-ключа или OAuth, а могут быть полностью открытыми. Они ориентированы на внешних пользователей для доступа к данным или услугам.

2.Партнерский API — позволяет вам как партнеру выполнять все операции GET, которые вы выполняете в своем партнерском магазине. Партнерский API построен с использованием принципов REST. Это обеспечивает предсказуемость URL-адресов, что упрощает запись и получение данных, связанных с вашим партнерским магазином. Этот API следует правилам HTTP.

3.Внутренние API (частные API) — обеспечивают доступ к конфиденциальным ресурсам внутри программной системы организации. Они упрощают процесс связывания внутренних систем или данных между множеством приложений, которые контролируют внутренние операции.

4.Композитные API — подход к проектированию, позволяющий последовательно объединять запросы API в один вызов API. Вместо нескольких обращений к серверу клиент может сделать один API-запрос с цепочкой вызовов и получить один ответ.

Различные типы протоколов API

1.SOAP
2.REST
3.JSON-RPC
4.gRPC
5.GraphQL
6.XML-RPC
7.Apache Thrift

Разница между GraphQL и REST API

GraphQL

GraphQL — это язык запросов и серверная среда выполнения для интерфейсов прикладного программирования (API), приоритетом которого является предоставление клиентам именно тех данных, которые они запрашивают, и не более. GraphQL разработан для того, чтобы сделать API быстрыми, гибкими и удобными для разработчиков.

Особенности GraphQL

Вот важные особенности GraphQL:

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

Получение удаленных данных

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

fetch('https://learnwithjason.dev/graphql', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    query: `
        query GetLearnWithJasonEpisodes($now: DateTime!) {
          allEpisode(limit: 10, sort: {date: ASC}, where: {date: {gte: $now}}) {
            date
            title
            guest {
              name
              twitter
            }
            description
          }
        }
      `,
    variables: {
      now: new Date().toISOString(),
    },
  }),
})
  .then((res) => res.json())
  .then((result) => console.log(result));
Вход в полноэкранный режим Выход из полноэкранного режима

Запрос на GraphQL

В этом посте мы обсудили, как можно использовать методы HTTP GET и POST для отправки запросов GraphQL. Мы также рассмотрели некоторые нюансы и ограничения каждого подхода.

Rest API

Когда клиентский запрос выполняется через RESTful API, он передает представление состояния ресурса запросчику или конечной точке. Эта информация, или представление, передается в одном из нескольких форматов по HTTP: JSON (Javascript Object Notation), HTML, XLT, Python, PHP или обычный текст. JSON — наиболее популярный формат файлов, поскольку, несмотря на свое название, он не зависит от языка, а также читается как людьми, так и машинами.

Получение удаленных данных

API состоит из набора данных, которые часто представлены в формате JSON с указанными конечными точками. Когда мы получаем доступ к данным из API, мы хотим получить доступ к определенным конечным точкам в рамках этого API. Можно также сказать, что API — это договорное соглашение между двумя службами о форме запроса и ответа. Код — это лишь побочный продукт. Он также содержит условия этого обмена данными.

В React существуют различные способы использования REST API в наших приложениях. Эти способы включают использование встроенного в JavaScript метода fetch() и Axios, который представляет собой основанный на обещаниях HTTP-клиент для браузера и Node.js.

fetch("/add", {
        method: "POST",
        headers: {
            Accept: "application/json",
            "Content-Type": "application/json"
        },
        body: JSON.stringify({
            a: parseInt(a),
            b: parseInt(b)
        })
    })
    .then(res => res.json())
    .then(data => {
        const {
            result
        } = data;
        document.querySelector(
            ".result"
        ).innerText = `The sum is: ${result}`;
    })
    .catch(err => console.log(err));
Вход в полноэкранный режим Выход из полноэкранного режима

REST-запрос

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

Оцените статью
devanswers.ru
Добавить комментарий