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