-
Notifications
You must be signed in to change notification settings - Fork 208
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
APIRoute の tag を英語にし、description を日本語にする #1520
Comments
どちらかというとネガティブ寄りの印象でいます・・・! 🙇 まずOpenAPIはVOICEVOXエディタ開発が楽になるようにという意図で作っているのですが、ファイルが分かれることはmockや抽象化がしづらくなるのでエディタにとってはただ不便になりそうな気がしてます。 2つ目がドキュメントの見た目が変わる点で、日本語ドキュメントで謎の英単語が太字で表示されてるのは視認性が悪くなってると感じました。 あとタグ名を変えだけでOpenAPIに依存しているコードが動かなくなるのも、それは嬉しいことなんだろうかと感じました。 それとファイルが分かれることは、個人的にはそこまで便利なように感じないかもです! OpenAPI自体はそこそこ便利そうなので、もう少し整備しても良いかもと感じています。 |
https://swagger.io/docs/specification/v3_0/grouping-operations-with-tags/
operationId というのを指定すると、生成される関数名を指定できます。 def use_route_names_as_operation_ids(app: FastAPI) -> None:
"""
Simplify operation IDs so that generated API clients have simpler function
names.
Should be called only after all routes have been added.
"""
for route in app.routes:
if isinstance(route, APIRoute):
route.operation_id = route.name # in this case, 'read_items' を /**
* 音声合成用のクエリの初期値を得ます。ここで得られたクエリはそのまま音声合成に利用できます。各値の意味は`Schemas`を参照してください。
* 音声合成用のクエリを作成する
*/
async audioQuery(requestParameters: AudioQueryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<AudioQuery> {
const response = await this.audioQueryRaw(requestParameters, initOverrides);
return await response.value();
} |
おっとなるほどです! ありがとうございます、ただこれも適当に変更として取り込むとOpenAPIを使っている人たちに不便だと思うので、慎重に扱った方が良さそうな気がしますね! |
こちらですが、ドキュメントの見た目がかなり変わってしまう点(特にredocの左のメニュー欄が日本語でなくなってしまう点)が課題となって実現が難しいのかなと感じています! おそらくOpenAPIの機能だけでは内部パラメータ(tag)とユーザー向けの説明文を分けるのは無理なんだろうなーと。 良いアイデアや、i18n化まで含めた解決にチャレンジしてくださる方をお待ちする形かなと思いますが、どうでしょうか! |
内容
APIRoute の tag を英語にすると、openapi-codegen する際に、
api_[tag名].ts
が生成される。そのまま、英語にした場合、API Doc で英語表示になるため、description を指定する。
Pros 良くなる点
api_[tag名].ts
として生成されると、tag名のクラスも生成され、利用する側もわかりやすくなる。Cons 悪くなる点
Before:
After:
実現方法
以下のような diff を用意する
VOICEVOXのバージョン
0.22.0
OSの種類/ディストリ/バージョン
その他
The text was updated successfully, but these errors were encountered: