2012-01-03 2 views
7

Я хотел бы найти способ генерации красивой документации API REST из Java-кода (WADL или HTML) - на основе JAXB, JAX-RS-аннотаций и комментариев в java-doc (no doclet пожалуйста).Resteasy - генерировать документацию REST от Javadoc и аннотации

Вот мой проект среда

  • Spring, не XML только не Аннотации
  • Rest-легко, как поставщика REST
  • JAXB и JAX-RS аннотаций
  • Mime Type для API отдыха в формате JSON

ответ

14

Попробуйте Enunciate.

Enunciate - это механизм, значительно улучшающий ваш API веб-сервисов Java. Это просто. Вы разрабатываете свой API веб-сервисов с использованием стандартных технологий Java и присоединяете Enunciate к вашему процессу сборки. Внезапно ваш веб-сервисный API обладает некоторыми довольно впечатляющими функциями:

  • Полная HTML-документация ваших услуг, очищенная от ваших JavaDocs.
  • Библиотеки на стороне клиента (например, Java, .NET, iPhone, Ruby, Flex, AJAX, GWT и т. Д.) Для разработчиков, которые хотят взаимодействовать с вашим API.
  • Определение интерфейса документов (например, WSDL, WADL, XML-схемы и т.д.)
  • Etc.
+1

Невозможно найти его в Интернете. Кто угодно? –

+1

можно найти по адресу https://github.com/stoicflame/enunciate – vim

1

API-интерфейс Java Compiler позволяет вам писать код, который анализирует источник Java и выполняет вашу собственную обработку.

Вот instructional article, который содержит информацию о разборах аннотаций.

Я предполагаю, что вы можете извлечь необработанную информацию, необходимую вам, используя эти API. Однако это приведет к синтаксическим фактам - URL-адресам REST и действиям и параметрам, пользователь также получит дополнительные пояснения, которые автор услуг мог (должен?) Предоставить в Java Doc.

Полное решение может состоять в том, чтобы проанализировать как аннотацию, так и java-документ и объединить их.

+0

прав .... но я хотел бы иметь больше похожего на плагин maven, который будет обрабатывать это для меня - и ТОЛЬКО генерация документа, отсутствие клиентской библиотеки или что-то в этом роде. –

+0

Я предполагаю, что я предполагаю, что плагин еще не существует и предлагает, как можно писать. Моя рекомендация - просто использовать JavaDoc. – djna

10

В качестве альтернативы Enunciate, вы могли бы также рассмотреть MireDot. Он вырос из инструмента, который мы используем в нашей собственной компании, и его можно использовать для проектов с открытым исходным кодом. Он делает именно то, что вы описываете: он объединяет аннотации jaxrs и существующие комментарии javadoc для генерации отдыха api. Он работает как плагин maven, который вы просто должны добавить в свой проект. Аннотации Jaxb пока не поддерживаются на момент написания, но инструмент находится в активной разработке, и мы выбираем функции для реализации на основе предложений/запросов/обратной связи.

+1

Пробовал MireDot только сейчас, и это ДЕЙСТВИТЕЛЬНО ХОРОШО! – thermz

+0

Я использовал MireDot с RestEasy и действительно крут и прост в настройке. –

+9

Единственная проблема с MireDot - это необходимый лицензионный ключ. Один за артефакт ... (даже для свободной части) –