swagger
なんとなく自分の中でのopenAPIについての総括的な行いをしたくなってきた。ちなみに雑感的なものは最近tweetした。ただし今回はその手前でschemaに関する事柄についてまとめてみようと思った。 jsonschemaとOpenAPI Spec ここで言及しているjsonschemaとOpe…
github.com もうちょっと複雑なpythonでgoのコードを生成する例を紹介して見ることにした。具体的にはswagger specを見てgoのstructを生成する処理。 go-swaggerなどswagger specからgoのコードを生成するツールは既にあったりはするのだけれど。これと似た…
github.com テキトウな設定ファイル(yaml,json)から、swagger specを生成して、goのstructを定義してloadしてみることにしてみた。 生成されるswagger specとgoのstruct定義は雛形っぽい感じであんまり真面目に作っていない。とりあえず雰囲気だけでも分かる…
最近作っている swagger-marshmallow-codegen というライブラリでswaggerの additionalProperties に対応するのがだるかったという話。 additionalProperties? additionalProperties というのはjsonschemaの方にもある。このあたりに書いてあるので読めばど…
相も変わらずtoyboxというリポジトリで作業していた。昨日試しに作ってみたswaggerのinput,outputのvalidationを行うものを昔作っていた pyramid-swagger-router と一緒に使ってみるようにしてみた。ココまで来るとそろそろswaggerに対するnormalizer + iter…
swaggerからmarshmallowのschemaを生成する機能は昔から作っていて、デフォルトでは definitions 部分だけしか見ないのだけれど。--full というオプションをつけると paths 以下の parameters や responses も見るようになっている。ここで生成したschemaをp…
swagger-marshmallow-codegen でpaths以下も見るようにした。あまりきれいとはいえない感じかもしれないけれど。 paths以下を見るということ 今まではdefinitions以下しか見なかったのだけれど。通常swaggerでapiの定義をするときにはpaths以下にも色々書く…
swagger-marshmallow-codegenで簡単なカスタマイズ出来るようにした。 例えば以下の様なことができるようになった defaultで使うschema classをMySchemaに変える 特定の条件を満たした値のときには自分で作った独自のfieldを使うように変える ただこれらはす…
pyramid-swagger-router というパッケージを作りました。swaggerの定義ファイル(swagger.yaml)からpyramidのviewの定義のコードを生成するパッケージです。 特徴 特徴は、pyramid-swagger-routerという名前でありながら router に値するものが何もないという…
swagger-marshmallow-codegen というライブラリを作りました。swaggerの定義ファイルからmarshmallow のschemaを生成するライブラリです。 ライブラリ? 正確にはライブラリでは無くコマンドです。marshmallowのschema定義のコードを生成するコマンドです。 …