カマカマの雑草ブログ

個人の日記です

Unity向けにSwaggerのパーサー書いた

最近、SwaggerをベースとしたAPI記述標準化を目指す話が話題になった。

www.publickey1.jp

以前からAPI記述を何らかのスキーマ定義で共通化できないかと思っている中こういう話が流れてきたので、これは流れに是非とも乗りたいなーと思い、取り敢えずC#内で触れるようにするかと土日でSwaggerのパーサー書いた。

https://github.com/MKomiya/SwaggerParserForUnity

Swagger SpecのYamlファイルを投げてやるとオブジェクト化して返してくれる。まだReference Object辺りが雑だけれど、取り敢えずSwaggerのpetstoreの例が解釈できる所までは来た。

大体YamlDotNet for Unity任せで、単にC#としてのクラス定義を書いてるだけなんだけど、そもそもこういうパーサー書くのが初めてだったのでここどう解釈するのかというのを考える良い経験にはなってると思う。

パースされたオブジェクトを見てAPIサーバへのRequestのvalidateとかResponseの自動解釈みたいなことが出来るようになってくると多少は実用性が出てくる気がするので、気力尽きないかぎりはその辺りまでやってきたい。

あと、今こいつユニットテストが無いので最低限のテストは欲しい。Unity Test Toolsとかでいいのかな。