Пишем RESTful API - практика. Часть 2.
Эта заметка продолжает цикл посвященный всестороннему обзору архитектуры REST для MODX.
Здесь можно почитать введение
Здесь быстрый осмотр встроенного в MODX модуля modRestService
Здесь практика. Часть 1
В этой заметке затронем инструментарий для работы с REST вообще, не только для MODX.
Каким же образом лучше всего тестировать свои REST контроллеры, проверяя их работу.
Проще всего тестировать GET запросы, которые, к тому же, часто работают вообще без авторизации, выдавая базовую информацию, как например, список товаров интернет-магазина.
Такой запрос легко проверить просто в браузере. Напоминаю — наиболее удобно-читаемый результат выдает Firefox.
Вот такую картинку покажет простой REST запрос, выдающий просто список ресурсов.
![](https://file.modx.pro/files/4/9/4/494381e8443345f980b462160864c78bs.jpg)
Ну а что же делать с POST запросами, или еще более специфичными PUT, DELETE запросами? Здесь браузер уже не спасет. Необходим какой-то инструментарий.
Самый простой инструмент, который позволяет проверить работу всех REST запросов это обычная консоль, которая есть у каждого разработчика. По крайней мере я надеюсь, что если вы дошли до этого момента, вам не нужно объяснять что такое консоль, где ее взять и как пользоваться.
Не буду много писать про запросы через консоль, эта информация легко гуглится. Мне, к примеру, понравилась вот эта статья — рекомендую для быстрого ознакомления.
Сразу же объясню почему я не затрагиваю подробно тему с запросами через консоль. Консоль выдает ответ как неформатированную кашу.
![](https://file.modx.pro/files/5/3/e/53e21dd2bf3c16db79cb44a8e5eb8a1bs.jpg)
Возможно есть какие то методы это исправить — я не сталкивался, потому что есть другие способы тестирования.
Переходим наконец к главному. Не единственный, но один из лучших инструментов для работы с REST запросами — это утилита Postman. Для работы ее нужно скачать на компьютер.
![](https://file.modx.pro/files/3/b/c/3bc2f1c4e45086a3147356b147a2de9fs.jpg)
С теорией вроде плюс-минус все.
Я прикинул по всякому — эта серия получается слишком абстрактной, без каких либо реальных действий.
Думаю лучше будет поступить несколько по другому.
Сделаю реальный компонент как дополнение к реальному действующему интернет-магазину, выложу его или на gitHub в виде исходников или в modstore.pro а здесь расскажу и покажу что и как работает, ссылаясь на конкретные рабочие материалы. Рассмотрим пошаговый процесс создания такого компонента?
Здесь можно почитать введение
Здесь быстрый осмотр встроенного в MODX модуля modRestService
Здесь практика. Часть 1
В этой заметке затронем инструментарий для работы с REST вообще, не только для MODX.
Каким же образом лучше всего тестировать свои REST контроллеры, проверяя их работу.
Проще всего тестировать GET запросы, которые, к тому же, часто работают вообще без авторизации, выдавая базовую информацию, как например, список товаров интернет-магазина.
Такой запрос легко проверить просто в браузере. Напоминаю — наиболее удобно-читаемый результат выдает Firefox.
Вот такую картинку покажет простой REST запрос, выдающий просто список ресурсов.
![](https://file.modx.pro/files/4/9/4/494381e8443345f980b462160864c78bs.jpg)
Ну а что же делать с POST запросами, или еще более специфичными PUT, DELETE запросами? Здесь браузер уже не спасет. Необходим какой-то инструментарий.
Самый простой инструмент, который позволяет проверить работу всех REST запросов это обычная консоль, которая есть у каждого разработчика. По крайней мере я надеюсь, что если вы дошли до этого момента, вам не нужно объяснять что такое консоль, где ее взять и как пользоваться.
Не буду много писать про запросы через консоль, эта информация легко гуглится. Мне, к примеру, понравилась вот эта статья — рекомендую для быстрого ознакомления.
Сразу же объясню почему я не затрагиваю подробно тему с запросами через консоль. Консоль выдает ответ как неформатированную кашу.
![](https://file.modx.pro/files/5/3/e/53e21dd2bf3c16db79cb44a8e5eb8a1bs.jpg)
Возможно есть какие то методы это исправить — я не сталкивался, потому что есть другие способы тестирования.
Переходим наконец к главному. Не единственный, но один из лучших инструментов для работы с REST запросами — это утилита Postman. Для работы ее нужно скачать на компьютер.
- Она бесплатна
- Позволяет работать со всеми современными глаголами (видами запросов)
- Позволяет хранить проекты и сохраняет историю работы, а значит можно работать сессионно, не потеряв вчерашнюю историю тестирования
- Работает и красиво форматирует любой формат ответа, хоть JSON, хоть XML
- Позволяет работать с куками, что важно для MODX, который как известно хранит идентификатор пользователя, а следовательно и доступ к его авторизации и правам в куке PHPSESSID
![](https://file.modx.pro/files/3/b/c/3bc2f1c4e45086a3147356b147a2de9fs.jpg)
С теорией вроде плюс-минус все.
Я прикинул по всякому — эта серия получается слишком абстрактной, без каких либо реальных действий.
Думаю лучше будет поступить несколько по другому.
Сделаю реальный компонент как дополнение к реальному действующему интернет-магазину, выложу его или на gitHub в виде исходников или в modstore.pro а здесь расскажу и покажу что и как работает, ссылаясь на конкретные рабочие материалы. Рассмотрим пошаговый процесс создания такого компонента?
Поблагодарить автора
Отправить деньги
Комментарии: 7
Сразу же объясню почему я не затрагиваю подробно тему с запросами через консоль. Консоль выдает ответ как неформатированную кашу.Нашел вот такую cli node утилиту https://github.com/ddopson/underscore-cli она не только форматирует вывод, а ещё и подсветку синтаксиса делает. Вдруг кому интересно будет =)
Возможно есть какие то методы это исправить
![](https://file.modx.pro/files/4/3/c/43c030032f5830a250dd34881954dbebs.jpg)
Я так и знал, что есть подобная штука.
Рассмотрим пошаговый процесс создания такого компонента?Конечно!
Это интересно и нужно; такие материалы повышают навыки разработчиков, развивают сообщество и в целом двигают revolution ) Респект!
Сделаю реальный компонент как дополнение к реальному действующему интернет-магазинуНа кого решил замахнуться? )
Дяденька не ругайтесь, я нечайно. Оно само как то выходит!
Вопрос про интернет-магазин. Кому повезет?
Мой магазин shop.krendel.kz будет донором. Как раз нужно API для мобильного приложения.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.