Если вы занимаетесь созданием сайтов на WordPress, то, скорее всего, слышали о REST API. Однако, если вы не являетесь опытным разработчиком, то, вероятно, не знаете, что такое WordPress REST API.
Хотя технические детали могут быть немного сложными для начинающих, основные концепции этой функции довольно просты для понимания. Новый API позволяет расширить возможности WordPress как платформы. Более того, REST API делает процесс подключения WordPress к другим сайтам и приложениям проще, чем когда-либо раньше.
В этом руководстве мы расскажем вам все основы, которые вам нужно знать. Мы объясним, что такое API в целом, а также что такое REST API в частности. Затем мы расскажем, как начать использовать WordPress REST API самостоятельно. Давайте приступим!
Введение в Application Programming Interfaces (APIs)
Прежде чем мы углубимся в REST API, давайте немного отойдем в сторону. Чтобы понять эту концепцию, сначала важно иметь базовое представление о том, что такое API в общем.
На самом элементарном уровне, API — или интерфейс программирования приложений — позволяет двум приложениям обмениваться информацией. Например, когда вы посещаете веб-сайт, ваш браузер отправляет запрос на сервер, где находится этот сайт. API сервера получает ваш запрос, интерпретирует его и отправляет обратно все данные, необходимые для отображения вашего сайта.
Конечно, в техническом плане работа API гораздо сложнее, но мы сосредоточимся на том, что, вероятно, важнее для вас — на практических приложениях. API получают много внимания и видимости, потому что многие компании начали использовать их и предоставлять в качестве продуктов для использования.
Другими словами, разработчики в компании, например, Google, собирают некоторые части кода своего приложения и делают их общедоступными. Таким образом, другие разработчики могут использовать API как инструмент, чтобы помочь своим сайтам подключаться к Google и использовать его функции:
Например, вы можете использовать Google Maps API, чтобы разместить на своем сайте полностью функциональную карту, которая использует все соответствующие данные и функции Google. Это позволяет вам избежать необходимости самостоятельно создавать карту и собирать все эти данные. То же самое относится к широкому диапазону сайтов и приложений.
Поскольку сайты и функциональность, на которых они полагаются, становятся все более сложными, инструменты, такие как API, становятся необходимыми. Они позволяют разработчикам строить на существующей функциональности, делая возможным просто «подключение» новых функций к вашему сайту. В свою очередь, сайт, владеющий API, получает преимущество в виде увеличенной видимости и трафика.
Основные правила REST (Representational State Transfer) API
Существует много способов создания API. REST (Representational State Transfer) API — это конкретный тип API, который разрабатывается в соответствии с определенными правилами. Другими словами, REST представляет собой набор рекомендаций, которые разработчики могут использовать при создании API. Это гарантирует эффективное функционирование API.
Чтобы понять, как работают REST API, необходимо знать правила (или «ограничения»), которым они следуют. Существует пять основных элементов, которые делают API «RESTful». Имейте в виду, что «сервер» — это платформа, к которой относится API, а «клиент» — это сайт, приложение или программное обеспечение, подключающееся к этой платформе:
RESTful
- Клиент-серверная архитектура. API должен быть построен таким образом, чтобы клиент и сервер оставались отдельными друг от друга. Таким образом они могут продолжать развиваться независимо друг от друга и могут использоваться независимо.
- Отсутствие состояния. REST API должны следовать протоколу, который не хранит информацию о клиенте на сервере. Запрос клиента должен содержать все необходимые данные заранее, а ответ должен предоставлять все, что необходимо клиенту. Это делает каждое взаимодействие «одноразовым» и уменьшает как требования к памяти, так и потенциальную возможность ошибок.
- Кэширование. «Кэш» — это временное хранение определенных данных, чтобы их можно было получить и отправить быстрее. RESTful API используют кэшируемые данные, когда это возможно, для улучшения скорости и эффективности. Кроме того, API должен сообщать клиенту, может ли и должны ли кэшироваться каждый кусок данных.
- Использование слоев. Хорошо спроектированные RESTful API создаются с использованием слоев, каждый со своей собственной назначенной функциональностью. Эти слои взаимодействуют, но остаются отдельными. Это упрощает изменение и обновление API со временем и также улучшает его безопасность.
- Единый интерфейс. Это означает, что все части REST API должны функционировать через одинаковый интерфейс и использовать одинаковые языки связи. Данный интерфейс должен быть специально разработан для данного API и иметь возможность развиваться самостоятельно. Он не должен зависеть от сервера или клиента для своей работы.
API, которые соответствуют этим принципам, можно называть RESTful. Существует также шестое ограничение, называемое «code on demand«. При использовании этой техники API может запрашивать у сервера передачу кода на клиентскую сторону для расширения функциональности. Однако это ограничение является необязательным и не используется всеми REST API.
WordPress REST API
Возможно, вы задаетесь вопросом, как все это касается вас. API — отличный инструмент, но актуальны ли они для вашей повседневной работы? Если вы используете WordPress, ответ — «да».
REST API для WordPress находится в разработке уже несколько лет. Некоторое время он работал как независимый плагин, который был доступен для экспериментов.
На самом деле, существовали две разные версии плагина REST API. Отдельные элементы API были добавлены в основную платформу еще в обновлении 4.4. Затем он был полностью интегрирован в WordPress 4.7 (в 2016 году). Это означает, что сегодня у WordPress есть свой собственный, полностью функциональный REST API.
Почему же платформа сделала этот шаг? Согласно самому сайту проекта, это связано с тем, что WordPress движется к тому, чтобы стать «полнофункциональным приложением«.
Другими словами, REST API позволяет платформе взаимодействовать с практически любым сайтом и веб-приложением. Кроме того, он может обмениваться данными, независимо от того, на каком языке написано внешнее приложение.
Важность WordPress REST API
С момента своего появления WordPress REST API стал критической составляющей системы управления контентом (CMS). Сейчас он используется не только внешними службами, многие плагины, темы и сам редактор блоков Gutenberg зависят от него и используют его для своей работы. Если вы задаетесь вопросом о том, как отключить REST API в WordPress, мы рекомендуем не делать этого, но далее в статье мы покажем, как сделать это безопасно.
Также важно отметить, что иногда эту функцию называют WordPress JSON REST API. «JSON» означает JavaScript Object Notation и описывает формат, используемый этим API для обмена данными. Этот формат основан на языке JavaScript и является популярным способом разработки API благодаря своей хорошей совместимости с многими распространенными языками программирования. Другими словами, JSON API легче обеспечивает связь между приложениями, которые используют разные языки программирования.
WordPress REST API: анатомия запроса
Теперь, когда вы понимаете общую цель и направление WordPress REST API, давайте перейдем к нескольким конкретным деталям о том, как он работает. Есть несколько основных концепций, которые нужно понимать, если вы хотите начать использовать API самостоятельно.
Каждый API обрабатывает запросы и возвращает ответы. Другими словами, клиент запрашивает выполнение определенного действия, и API выполняет это действие. Как именно это делают API, может варьироваться. REST API специально разработан для получения и ответа на определенный тип запроса с использованием простых команд HTTP (или ‘методов’).
Вот наиболее основные и важные методы, которые клиент может отправить:
GET
— Эта команда получает ресурс с сервера (например, конкретные данные).POST
— С помощью этой команды клиент добавляет ресурс на сервер.PUT
— Вы можете использовать это для редактирования или обновления ресурса, который уже находится на сервере.DELETE
— Как следует из названия, это удаляет ресурс с сервера.
Вместе с этими командами клиент отправит одну или несколько строк, которые сообщают, какой именно ресурс требуется и что с ним нужно сделать. Например, запрос на загрузку файла PHP в определенную папку на сервере может выглядеть так:
POST /foldername/my_file.php
Часть /foldername/my_file.php называется маршрутом (route
), поскольку она сообщает API, куда идти и какие данные использовать. Когда вы объединяете ее с методом HTTP (в данном случае POST), вся функция называется «конечной точкой (endpoint
)».
Как использовать WordPress REST API
Чтобы начать использовать WordPress REST API, вам нужно иметь настроенный сайт WordPress, и вы сможете сразу же начать экспериментировать с REST API. Вы можете выполнять различные GET-запросы для получения данных напрямую, просто используя свой браузер.
Чтобы получить доступ к WordPress REST API, вам нужно начать с этого маршрута:
yoursite.com/wp-json/wp/v2
Затем вы можете добавлять в этот URL различные типы данных. Например, вы можете просмотреть конкретный профиль пользователя через маршрут вроде этого:
yoursite.com/wp-json/wp/v2/users/43
В этом сценарии «43» является уникальным идентификатором пользователя, который вы хотите увидеть. Если вы не указали этот идентификатор, вы увидите список всех пользователей на вашем сайте:
Вы можете использовать тот же базовый маршрут для просмотра других типов данных, таких как ваши записи или страницы. Вы даже можете искать подмножества данных, которые соответствуют определенным критериям. Например, вы можете получить все записи, которые содержат определенный термин, используя этот URL:
yoursite.com/wp-json/wp/v2/posts?=search[keyword]
Это всего лишь простые примеры. На самом деле практически нет ограничений для того, что вы можете сделать с помощью WordPress REST API. Если вы хотите узнать больше о том, как это работает, мы рекомендуем начать с ресурсов описанных ниже:
Ресурсы для изучения WordPress REST API
Первый ресурс — The REST API Handbook — это официальный источник информации от WordPress, который содержит документацию о различных аспектах REST API. В этом руководстве вы найдете список точек доступа и детальную информацию о некоторых структурных аспектах REST API.
Второй ресурс — W3Schools — не является специализированным на REST API, но предлагает удобные обучающие материалы, которые помогут освежить ключевые понятия, такие как HTTP-методы и JSON.
Как отключить REST API в WordPress
REST API в WordPress может быть удивительным инструментом, если вам нужно соединить свой сайт с другими сервисами и приложениями. Однако, это может привести к уязвимостям безопасности. Злоумышленники могут получить доступ к критическим данным через эту связь.
Мы не рекомендуем полностью отключать REST API в WordPress, так как это может привести к проблемам с ключевыми функциями на вашем сайте. С момента его внедрения, REST API стал неотъемлемой компонентой WordPress. Большинство плагинов используют его для взаимодействия с CMS. Кроме того, Gutenberg Block Editor зависит от REST API для редактирования контента.
Хотя отключение REST API в WordPress не является хорошей идеей, вы можете частично блокировать доступ к определенным ресурсам в целях безопасности. Самый простой способ сделать это — использовать плагин, например Disable WP REST API
Еще один подход к использованию WordPress REST API
WordPress REST API может быть использован для многих интересных вещей и проектов. Однако, есть одна область, где он получает реальную популярность:
- Headless WordPress — это идея отделения двух основных слоев экосистемы WordPress — backend и frontend.
Это позволяет вам использовать все преимущества, которыми обладает программное обеспечение WordPress, и соединить их с конечным продуктом, который не использует стандартное представление WordPress — это не сайт, как таковой. Весь концепт очень интересный. Мы обсудим это более подробно в другой статье.
Заключение
В заключение, WordPress REST API — это мощный инструмент, который позволяет взаимодействовать с WordPress сайтом с помощью стандартных HTTP запросов, открывая новые возможности для создания пользовательских приложений и интеграций. Он позволяет получать, создавать, обновлять и удалять контент, а также выполнять множество других операций с помощью RESTful API.
Чтобы начать использовать WordPress REST API, необходимо убедиться, что он включен на вашем сайте и изучить его документацию, чтобы понять, какие конечные точки API доступны и как использовать их. Существуют также многочисленные библиотеки и плагины, которые облегчают работу с REST API, такие как WP-API клиент для JavaScript, Postman и другие.
Однако, при использовании REST API необходимо учитывать безопасность и правильную настройку доступа к данным, чтобы не допустить несанкционированный доступ к информации. В целом, WordPress REST API предоставляет мощный и гибкий интерфейс для работы с контентом WordPress и открывает новые возможности для разработки пользовательских приложений и интеграций.