API означает интерфейс прикладного программирования. Вы можете использовать API для запроса доступа к ресурсам другого сервера или использовать собственные API для автоматизации определенных задач. API браузера может расширить функциональность веб-браузера. API сервера может расширить функциональность веб-сервера.
- Для чего используется API в веб-разработке
- Как использовать API?
- Шаги по внедрению нового API включают в себя:
- Типы API
- Существует 4 основных типа API (Application Programming Interface) по политике доступности/выпуска:.
- Различные типы протоколов API
- Разница между GraphQL и REST API
- GraphQL
- Особенности GraphQL
- Получение удаленных данных
- Запрос на GraphQL
- Rest API
- Получение удаленных данных
- REST-запрос
Для чего используется 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-глагола, который определяет, какую операцию нужно выполнить. заголовка, который позволяет клиенту передать информацию о запросе.