Что такое API? И другие сокращения: REST, SOAP, XML, JSON, WSDL.
Когда вы используете браузер, ваш браузер отправляет запросы с сервера клиента, и сервер отправляет обратно данные, которые ваш браузер собирает и отображает веб-страницу. Но что, если вы просто хотите, чтобы ваш сервер или веб-страница общались с другим сервером? Это потребует от вас программирования для API.
Что означает API?
API - это аббревиатура от Интерфейс прикладного программирования (API). API — это набор подпрограмм, протоколов и инструментов для создания веб-приложений и мобильных приложений. API указывает, как вы можете аутентифицироваться (необязательно), запрашивать и получать данные с сервера API.
Что такое API?
При использовании в контексте веб-разработки API обычно представляет собой определенный набор протоколов передачи гипертекста (HTTP) сообщения запроса вместе с определением структуры ответных сообщений. Веб-API позволяют объединять несколько сервисов в новые приложения, известные как гибридные приложения.
Википедия.
Приведем простой пример. Если вы используете сокращатель ссылок для распространения длинного URL проще лучше, вы можете использовать такой сервис, как Bit.ly. Вы вводите длинный URL-адрес, отправляете URL-адрес, и Bit.ly отвечает коротким URL-адресом.
Что если вы захотите использовать Bit.ly в рамках используемой вами платформы? Возможно, вы создали онлайн-конструктор QR-кодов, но сначала хотите сократить длинные URL-адреса. В этом случае вы можете запрограммировать свой сайт на отправку запроса API Bit.ly, а затем получить ответ для создания своего QR-кода.
Процесс автоматизирован с помощью API, поэтому вмешательство человека не требуется. Это возможность, которую API предоставляют каждой организации. API помогают системам синхронизировать данные, обрабатывать запросы и автоматизировать процессы, обычно выполняемые вручную.
Если у платформы есть надежный API, это означает, что вы можете как интегрировать, так и автоматизировать, экономя ручное время, улучшая возможности ваших платформ в реальном времени и обеспечивая повышенную точность, избегая проблем с ручным вводом данных.
Видео о том, как работают API
Если вы разработчик платформы, API-интерфейсы также предлагают возможность отделить ваш пользовательский интерфейс от вычислений и запросов к базе данных. Почему это важно? При разработке пользовательского интерфейса вы можете использовать те же API, которые вы публикуете для других третьих сторон. Вы можете переписать свой пользовательский интерфейс, не беспокоясь о нарушении внутренней интеграции.
Как найти доступные API
Вы ищете API для конкретного продукта или услуги? Вот некоторые ресурсы, в которых перечислены API, которые вы можете использовать лично и в коммерческих целях:
Как тестировать API
API — это просто HTTP-запрос, очень похожий на браузер. Отличие заключается в том, что API часто требует определенного метода аутентификации для выполнения запроса. Если аутентификация не требуется, вы даже можете запросить, вставив URL-адрес запроса в браузере. Вот пример запроса к API погоды с открытым исходным кодом.
Используя OSX, вы можете использовать завить команду в окне терминала. Выполнив команду, cURL
сделает запрос GET к предоставленному URL-адресу API, и ответ, содержащий данные прогноза погоды, будет отображаться в Терминале.
curl "https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41¤t_weather=true&hourly=temperature_2m,relativehumidity_2m,windspeed_10m"
В Windows можно установить curl
и добавьте его в системный PATH, чтобы команда работала. Кроме того, вы можете использовать сторонние curl
исполняемые файлы для Windows, такие как cURL для Windows or curl для Windows от Winamp и аналогично запустите команду curl.
Вот некоторые дополнительные языки и то, как вы можете сделать запрос API:
- Питон: Ассоциация
requests
библиотека обычно используется для выполнения HTTP-запросов в Python. Вот пример:
import requests
response = requests.get('https://example.com')
print(response.text)
- JavaScript (Node.js): Ассоциация
axios
библиотека — широко используемый HTTP-клиент для Node.js. Вот пример:
const axios = require('axios');
axios.get('https://example.com')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
- JQuery: Использовать
$.ajax
or$.get
функции для выполнения HTTP-запросов. Вот пример выполнения запроса GET с использованием$.ajax
в jQuery:
$.ajax({
url: 'https://example.com',
method: 'GET',
success: function(response) {
console.log(response);
},
error: function(error) {
console.error(error);
}
});
- Рубин: Стандартная библиотека Ruby включает в себя
net/http
модуль для выполнения HTTP-запросов. Вот пример:
require 'net/http'
require 'uri'
uri = URI.parse('https://example.com')
response = Net::HTTP.get_response(uri)
puts response.body
- Ява: Java предоставляет различные библиотеки и фреймворки для выполнения HTTP-запросов, например
HttpURLConnection
(в стандартной библиотеке), Apache HttpClient или OkHttp. Вот пример использованияHttpURLConnection
:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://example.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
StringBuilder response = new StringBuilder();
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
System.out.println(response.toString());
}
}
- С# или ASP.NET: Использовать
HttpClient
класс для выполнения HTTP-запросов. Вот пример того, как сделать запрос GET, используяHttpClient
в C #:
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
using (HttpClient client = new HttpClient())
{
HttpResponseMessage response = await client.GetAsync("https://example.com");
response.EnsureSuccessStatusCode(); // Ensure a successful response
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
}
Не забудьте добавить необходимые using
операторы и правильно обрабатывать исключения при работе с HttpClient
в вашем приложении ASP.NET или C#.
- WordPress: API WordPress имеет свои собственные функции.
wp_remote_get
orwp_remote_post
:
$response = wp_remote_get('https://example.com');
if (is_wp_error($response)) {
$error_message = $response->get_error_message();
echo "Request failed: $error_message";
} else {
$body = wp_remote_retrieve_body($response);
$data = json_decode($body);
// Process the retrieved data
var_dump($data);
}
В этих примерах показано, как выполнить базовый запрос GET, но эти библиотеки обычно поддерживают различные методы HTTP (GET, POST и т. д.) и предоставляют параметры для настройки заголовков, отправки полезных данных запроса и более сложной обработки ответов.
Не забудьте установить все необходимые зависимости или библиотеки для вашего языка программирования перед запуском примеров кода.
У Talend есть отличное приложение Chrome для взаимодействия с API и просмотра их ответов, если вы хотите протестировать API без написания строки кода.
Добавьте тестер API Talend в Chrome
Что означает Acronym SDK?
SDK - это аббревиатура от Комплект разработчика программного обеспечения.
Когда компания публикует свой API, обычно к нему прилагается сопроводительная документация, показывающая, как API аутентифицируется, как его можно запрашивать и какие ответы следует принимать. Чтобы помочь разработчикам получить преимущество, компании часто публикуют комплекты разработчика программного обеспечения (
SDK), чтобы легко включать класс или необходимые функции в проекты, которые пишет разработчик.Что означает аббревиатура XML?
XML - это аббревиатура от расширяемый язык разметки. XML — это язык разметки, используемый для кодирования данных в формате, удобочитаемом как человеком, так и машиной.
Вот пример того, как выглядит XML:
<?xml версия ="1.0"?> <продукт ID ="1"> Продукт А Первый продукт 5.00 каждый
Что означает аббревиатура JSON?
JSON - это аббревиатура от Обозначение объекта JavaScript. JSON — это формат для структурирования данных, которые отправляются туда и обратно через API. JSON является альтернативой XML. API-интерфейсы REST чаще всего отвечают с помощью JSON — открытого стандартного формата, который использует удобочитаемый текст для передачи объектов данных, состоящих из пар атрибут-значение.
Вот пример данных выше с использованием JSON:
{ "мне бы": 1, "заглавие": «Продукт А», "описание": «Первый продукт», "цена": { "количество": "5.00", "за": "каждый" } }
Что означает аббревиатура REST?
ОТДЫХ является аббревиатурой от Изобразительное State Transfer архитектурный стиль для распределенных систем гипермедиа.
Уф… глубокий вдох! Вы можете прочитать всю диссертация здесьпод названием «Архитектурные стили и дизайн сетевых архитектур программного обеспечения», представленные в частичном удовлетворении требований к степени ДОКТОРА ФИЛОСОФИИ в области информации и информатики Рой Томас Филдинг.
Спасибо, доктор Филдинг!
Что означает аббревиатура SOAP?
SOAP- это аббревиатура для Протокол простого доступа к объектам
Я не программист, но, по моему мнению, разработчики, которые любят SOAP, делают это потому, что могут легко разрабатывать код в стандартном программном интерфейсе, который читает Язык определения веб-сервиса (WSDL) файл. Им не нужно анализировать ответ, это уже сделано с помощью WSDL. Для SOAP требуется программная оболочка, которая определяет структуру сообщения и способ его обработки, набор правил кодирования для выражения экземпляров типов данных, определяемых приложением, и соглашение для представления вызовов процедур и ответов.