«Как я перестал волноваться и стал отдавать метаданные restful API»
Блог Дневник.ру на Habrahabr дополнился свежей статьей «Как я перестал волноваться и стал отдавать метаданные restful API» http://habrahabr.ru/company/dnevnik_ru/blog/174555/ Приятного чтения!
28 марта 2013, 19:02
2 минуты
Если вы делаете публичный API, то скорее всего сталкивались с проблемой его документации. Большие компанииделают специальные порталы для разработчиков, где можно почитать и обсудить документацию, или скачать библиотеку-клиент для вашего любимого языка программирования.
Поддержка такого ресурса (особенно в условиях, когда API активно развивается) — достаточно трудозатратное дело. При изменениях, приходится синхронизировать документацию с фактической реализацией и это напрягает. Синхронизация состоит из:
- Проверки, что вся существующая функциональность описана в документации
- Проверки, что всё описанное работает как заявлено в документации
Автоматизировать второй пункт предлагают ребята из стартапа apiary.io, они предоставляют возможность написать документацию на специальном предметно-ориентированном языке (DSL), а потом, при помощи прокси к вашему API, записать запросы, и периодически проверять, что всё, описанное соответствует действительности. Но в данном случае, вам всё ещё придется самим писать всю документацию, и это кажется лишним, потому что интерфейс вы, скорее всего, уже описали в коде.
Конечно же, универсального способа извлечь интерфейс в виде описания запросов и ответов из кода не существует, но если вы используете фреймворк, в котором есть соглашения по поводу маршрутизации и выполнения запросов, то такую информацию можно получить. Кроме того, существует мнение, что такое описание не нужно и клиент должен сам понять, как работать с REST API, зная только URL корневого ресурса и используемые media types. Но я не видел ни одного серьёзного публичного API, которое использует такой подход.
Чтобы автоматически сгенерировать документацию, понадобится формат для описания метаданных, что-то вродеWSDL, но с описаниями в терминах REST.
Есть несколько вариантов: читайте продолжение в нашем блоге http://habrahabr.ru/company/dnevnik_ru/blog/174555/
Публикации по теме
-
Партнёрский материал Компании научились собирать данные. Принимать решения — нет: почему цифры не помогают сами по себе 21 июля 2026, 16:04
-
Личное «Сдаваться — путь слабого»: как живут модные бренды в 2026 году 15 августа 2026, 10:00
-
Бизнес Сначала скопировали McDonald’s, потом объявили ему войну: история Burger King 23 августа 2026, 10:00
-
Игры От музыкального лейбла до GTA VI: история Rockstar 22 августа 2026, 13:48
-
Бизнес Собрать, разобрать, выжить: история LEGO 22 августа 2026, 10:00
-
Автомобили Электромобили, роботы и Илон Маск: история Tesla 21 августа 2026, 11:26
-
Бизнес Пришёл помочь — остался главным: история LVMH 19 августа 2026, 22:20
-
Личное Реклама будущего — предвосхищающая: не ждет запроса, а работает на опережение 22 июля 2026, 19:00
Новости по теме
-
Россия «Газпром Арена» отказалась от проведения концерта Канье Уэста — площадка заявила об отсутствии договора с артистом 24 августа 2026, 18:23
-
Россия Владимир Путин разрешил вводить временное управление объектами критической инфраструктуры — при угрозе безопасности 24 августа 2026, 17:40
-
Россия Яндекс Карты начали показывать свободные для аренды самокаты и велосипеды — от Яндекс Go, «Юрента» и «Велобайка» 24 августа 2026, 17:10
-
Технологии Xiaomi представила самый мощный мобильный процессор — модель набрала рекордные 5,2 млн баллов в приложении AnTuTu 24 августа 2026, 16:35
-
Технологии Первый складной iPhone Ultra восхитил тестировщиков — но камера не дотягивает до уровня флагмана за $2500 24 августа 2026, 15:15
-
Искусственный интеллект Яндекс открыл свой медицинский ИИ для всех врачей — ассистент поможет подобрать лекарства или поставить диагноз 24 августа 2026, 14:20
-
Маркетплейсы Акции Ozon рухнули почти на 30% после пожаров на складах — Мосбирже пришлось проводить дискретный аукцион 24 августа 2026, 13:27
-
Искусственный интеллект Рынок роботов ждёт прорыв «уровня ChatGPT» уже в 2027 году — но массовыми устройства всё равно не станут 22 августа 2026, 16:00