处理项目并使用Spray
想要添加Swagger以获得所有通话的优秀用户界面
找到:
问题是我似乎无法使用我的项目,没有文档或
运行示例就像在黑暗中行走......(并且耗费时间)
任何1人都可以使用它并且有一个
所以我能让它运转起来吗?
谢谢!
答案 0 :(得分:2)
所以我对此进行了尝试并使其正常运行。你可以查看我的回购here。
当然,这是我用于探索Spray的暂存器,所以有些事情可能会改变。此外,这是基于Spray 1.3.0。
根据我的理解,让这个工作的一般要点是:
我相信1.和2.是必要的,因为spray-swagger适用于Java注释,当包装在不透明函数内时无法检索(这是Spray路由DSL通常为您编写的)。
答案 1 :(得分:2)
答案 2 :(得分:1)
我担心的一个问题是,注释使注释更难以阅读。关于如何使代码可读的任何想法&仍然可以获得Swagger的好处吗?
@Api(value = "/pet", description = "Operations about pets")
trait PetHttpService extends HttpService {
@ApiOperation(httpMethod = "GET", response = classOf[Pet], value = "Returns a pet based on ID")
@ApiImplicitParams(Array(
new ApiImplicitParam(name = "petId", required = false, dataType = "integer", paramType = "path", value = "ID of pet that needs to be fetched")
))
@ApiResponses(Array(
new ApiResponse(code = 400, message = "Invalid ID Supplied"),
new ApiResponse(code = 404, message = "Pet not found")))
def petGetRoute = get { path("pet" / IntNumber) { petId =>
complete(s"Hello, I'm pet ${petId}!")
} }
}
我打算用注释创建一个特征&扩展以查看注释是否有效。会让你们知道会发生什么!