Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rustで始めるコードファーストなOpenAPI定義の生成 🦀

TaKO8Ki
July 26, 2023

Rustで始めるコードファーストなOpenAPI定義の生成 🦀

Rust、何もわからない... #9
https://estie.connpass.com/event/289216/

TaKO8Ki

July 26, 2023
Tweet

More Decks by TaKO8Ki

Other Decks in Technology

Transcript

  1. • Rust committer (member of compiler contributors team and diagnostic

    working group) • Software Engineer @Moneyforward Takayuki Maeda / TaKO8Ki @TaKO8Ki @TaKOBKi
  2. Invoice XML is complicated and has “161” elements and some

    attributes. コードからOpenAPI documentationを生成し たい
  3. コードファーストなOpenAPI定義の生成をしたい 例えば、utoipaでは、$refでスキーマなどにアクセス可能かどうかは自分達で担保する必要が ある。
 
 > Note! Utoipa does not guarantee

    that free form ref is accessbile via OpenAPI doc or Swagger UI, users are eligible to make these guarantees.
 
 
 
 ref: https://docs.rs/utoipa/latest/utoipa/attr.path.html#request-body-attributes
  4. Invoice XML is complicated and has “161” elements and some

    attributes. じゃあなぜこういう実装になってるのか?
  5. Invoice XML is complicated and has “161” elements and some

    attributes. ここで少し実装を覗いてみる
  6. Invoice XML is complicated and has “161” elements and some

    attributes. じゃあinlineの時はどうなってるか?
  7. © Money Forward, Inc. まとめ • Rustでは、utoipaを使ってコードファーストなOpenAPI定義の生成ができ る。
 • utoipaは気をつけるべきポイントはあるが、総じて使いやすい。


    • 疑問点があったら実装を覗いてみて改善点があればパッチを投げてみる のが良さそう。
 
 自分は最終的にtypo修正だけして終わりました。
 https://github.com/juhaku/utoipa/pull/669