Существуют ли какие-либо плагины для создания документации API для Play 2.x?
У нас есть относительно большая REST API-сборка поверх Play 2.x, и нам поручено документировать ее для наших внутренних пользователей. Поскольку мы считаем, что поддерживать это в отдельной вики очень сложно, нам интересно, есть ли какие-либо инструменты для создания документации для Play?
Ответы
Ответ 1
Swagger обеспечивает поддержку Play 2:
https://github.com/swagger-api/swagger-play
Play 2 сам обеспечивает документацию для своего маршрутизатора в удобном формате, проверка того, что происходит, когда вы вызываете:
Play.current.routes.foreach(r => println(r.documentation))
Ответ 2
Я думаю, в Play 2.4 вы должны ввести маршрутизатор:
class Health @Inject() (router: Router) extends Controller {
def doc = Action { implicit request =>
val myroutes = router.documentation.map {
x => Json.obj("http_method" -> x._1, "path" -> x._2, "scala" -> x._3)
}
Ok(Json.obj("k" -> myroutes))
}
}
Но это не очень хорошая документация API. Вы не получаете, какие вещи у вас есть POST, или какие вещи вы получите.
По-прежнему интересно, если есть лучший способ получить документацию REST-API из игры...
Ответ 3
Теперь я использую raml.
http://raml.org/
Нет автоматического генерации api doc. Вы должны создать и изменить api docs вручную, но это совсем не плохо.
Конечно, если вы измените свой api, вы должны помнить об изменении api doc; Это точка отказа.
Но хорошо это: вы не загрязняете свой код комментариями и комментариями api doc. Это самый важный момент для меня.
"Язык api doc" очень прост в освоении/использовании.