«Как я перестал волноваться и стал отдавать метаданные restful API»
Дневник ру
Если вы делаете публичный API, то скорее всего сталкивались с проблемой его документации. Большие компанииделают специальные порталы для разработчиков, где можно почитать и обсудить документацию, или скачать библиотеку-клиент для вашего любимого языка программирования.
Поддержка такого ресурса (особенно в условиях, когда API активно развивается) — достаточно трудозатратное дело. При изменениях, приходится синхронизировать документацию с фактической реализацией и это напрягает. Синхронизация состоит из:
- Проверки, что вся существующая функциональность описана в документации
- Проверки, что всё описанное работает как заявлено в документации
Автоматизировать второй пункт предлагают ребята из стартапа apiary.io, они предоставляют возможность написать документацию на специальном предметно-ориентированном языке (DSL), а потом, при помощи прокси к вашему API, записать запросы, и периодически проверять, что всё, описанное соответствует действительности. Но в данном случае, вам всё ещё придется самим писать всю документацию, и это кажется лишним, потому что интерфейс вы, скорее всего, уже описали в коде.
Конечно же, универсального способа извлечь интерфейс в виде описания запросов и ответов из кода не существует, но если вы используете фреймворк, в котором есть соглашения по поводу маршрутизации и выполнения запросов, то такую информацию можно получить. Кроме того, существует мнение, что такое описание не нужно и клиент должен сам понять, как работать с REST API, зная только URL корневого ресурса и используемые media types. Но я не видел ни одного серьёзного публичного API, которое использует такой подход.
Чтобы автоматически сгенерировать документацию, понадобится формат для описания метаданных, что-то вродеWSDL, но с описаниями в терминах REST.
Есть несколько вариантов: читайте продолжение в нашем блоге http://habrahabr.ru/company/dnevnik_ru/blog/174555/
Нашли опечатку? Выделите текст и нажмите Ctrl + Enter
Популярное
Материалы по теме
-
Пройти курс «Интернет-маркетинг для малого бизнеса»
- 1 «Интернет никогда не придет в точку равновесия»: сбои в сети и их причины Эксперт «Газинформсервиса» – о проблемах в работе Рунета 30 января 12:00
- 2 Развитие биржевых фондов (ETF) и их влияние на ликвидность рынка Как инвестировать в базовые активы, при этом их не приобретая 08 декабря 18:40
- 3 Как создать положительный и запоминающийся имидж Пошаговые рекомендации по созданию положительного образа 20 ноября 22:10
- 4 Как новые технологии повлияли на рынок труда и корпоративное обучение Следим за трендами с CEO «Яндекс Практикума» 17 ноября 18:43