所以我不是专家,但所有使用swagger的系统都要求您在JSON或YAML中使用swagger规范来定义API的所有端点(等等)。
我的问题是:是否有基于实际源代码生成这些规范文件的方法? 我问,因为似乎很难保留端点代码和当您开始添加属性或返回稍有不同的结果时,文档会同步。
所以当我有这个代码时(使用http4s& RhoService):
object HelloWorld {
val service = new RhoService {
GET / "hello" / 'name |>> { name: String =>
Ok(Json.obj("message" -> Json.fromString(s"Hello, ${name}")))
}
}
}
如果它可以产生(以某种方式:)
,那就太好了/hello/{name}:
get:
tags:
- "HelloWorld"
summary: ""
description: ""
operationId: "getHellobyName"
produces:
- "application/json"
parameters:
- name: "name"
in: "path"
description: ""
required: true
type: "string"
responses:
200:
description: "successful operation"
schema:
$ref: "#/definitions/Hello"
security:
- api_key: []
答案 0 :(得分:1)
没有很好地记录,但显然http4s'RhoService
添加了中间件以根据您的路线生成swagger.json
:
获取bij,调用“http://localhost:8080/swagger.json”
答案 1 :(得分:1)