Так что я не эксперт по чванству, но все системы, использующие чванство, требуют, чтобы у вас была спецификация чванства в JSON или YAML, определяющая все конечные точки (и т. Д.) Вашего 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: []