我们有一个基于Play 2.x构建的相对较大的REST API,并被要求为我们内部用户编写文档。由于我们认为在单独的wiki上维护这个文档非常困难,因此我们想知道是否有任何Play文档生成工具可用?
Swagger提供了Play 2的支持:
https://github.com/swagger-api/swagger-play
Play 2本身以方便的格式为其路由器提供文档,当您调用以下内容时,请检查发生了什么:
Play.current.routes.foreach(r => println(r.documentation))
我猜,在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的内容或者将会GET到什么内容。
我仍然在思考,是否有更好的方法来获取Play框架的REST API文档...