私は派手なエキスパートではありませんが、すべてのシステムではJSONやYAMLでAPIのすべてのエンドポイントなどを定義する必要があります。スカラソースコード(http4s)からSwagger/OpenAPI仕様を生成
私の質問です:実際のソースコードに基づいてこれらの仕様ファイルを生成する方法はありますか? プロパティを追加したり、わずかに異なる結果を戻したりすると、エンドポイントコード&のドキュメントを同期させた状態に保つのが非常に難しいようです。私はこのコードを持っている場合
ので(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: []
、このような重要なコンポーネントを。 –