Было опубликовано много вопросов и ответов об API на основе REST/HTTP и т. д., но ни один из них, похоже, не содержит достаточной информации по следующему вопросу:
Какие инструменты доступны/используются для документирования API HTTP-RPC? Какие инструменты лучше?
Аналогичный вопрос (специфический для ASP.NET) от января 2009 г. можно найти здесь, но без ответов.
Я занимаюсь разработкой нескольких API как профессионально, так и для личных проектов (.NET MVC/OpenRasta, PHP, Coldfusion и т. д.), и я не нашел ничего особенного, что помогло бы документировать эти API. Я не ищу автоматическую генерацию на основе синтаксического анализа/очистки кода или чего-то подобного. Как вы, наверное, уже знаете, API на основе RESTful/HTTP должен быть независимым от клиента и платформы; поэтому я ожидаю, что любой инструмент документирования будет таким же.
Особенности, которыми может обладать достойный инструмент:
- Укажите формат/структуру URL/URI
- Форматы и методы запроса/ответа (GET/POST/и т.д., XML/JSON/и т.д.)
- Категоризация конечных точек/вызовов API (например, группировка нескольких вызовов при проверке подлинности)
- Автоматически создавать статические эталонные файлы/документацию, как в примерах ниже.
- Включите примеры, тест-кейсы и т. д.
Вот несколько примеров того, что я считаю достойной документацией/справочниками по API:
http://dev.twitter.com/doc/post/statuses/destroy/:id
http://www.salesforce.com/us/developer/docs/api_rest/index.htm