注意 まだ書くべきことはたくさんある go-swaggerは駄目だ、と見切りをつけて数年が経つので、情報が古い可能性がある OpenAPI 3.x を否定するものではない(むしろそちらには若干の希望を感じている) 解決策は書いてない 結論 Swagger generates go-server codeを採用するには、相当な覚悟が必要 どうせやるならOpenAPI 3.xに賭けたほうがいい 背景 この記事を書こうと思った動機 とつぶやいたものの、そのデメリットについて明確な言語化したことがなく、 単なる言いがかりじゃない というところをきちんとしておくため。 Swaggerはつらいよ 実際にプロジェクトで採用してみた結果、一体何が辛かったのかについて、3つの点から解説する。 問題点1: Swaggerの表現力と戦わねばならない そもそも$refがキツイ 説明まで含めて完全に同一な定義なんて
![Swagger (OpenAPI 2.x) generates go-server codeの何が辛いのか](https://cdn-ak-scissors.b.st-hatena.com/image/square/5c95cb2dcc39c6967e5045c7f466a0b0e2ae7e23/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fzenn%2Fimage%2Fupload%2Fs--zvQrp3YJ--%2Fc_fit%252Cg_north_west%252Cl_text%3Anotosansjp-medium.otf_55%3ASwagger%252520%252528OpenAPI%2525202.x%252529%252520generates%252520go-server%252520code%2525E3%252581%2525AE%2525E4%2525BD%252595%2525E3%252581%25258C%2525E8%2525BE%25259B%2525E3%252581%252584%2525E3%252581%2525AE%2525E3%252581%25258B%252Cw_1010%252Cx_90%252Cy_100%2Fg_south_west%252Cl_text%3Anotosansjp-medium.otf_37%3Akyoh86%252Cx_203%252Cy_121%2Fg_south_west%252Ch_90%252Cl_fetch%3AaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EtL0FPaDE0R2lRUHYwOHdfWFJVcjk5U3BPNUl2Y3o5N3MtanhiWFBaZ3FxcGZxQ1hZPXMyNTAtYw%3D%3D%252Cr_max%252Cw_90%252Cx_87%252Cy_95%2Fv1627283836%2Fdefault%2Fog-base-w1200-v2.png)