swagger

jsonschema/OpenAPI Specでのstrictなschema定義の大変さとPolicy as Codeについて

なんとなく自分の中でのopenAPIについての総括的な行いをしたくなってきた。ちなみに雑感的なものは最近tweetした。ただし今回はその手前でschemaに関する事柄についてまとめてみようと思った。 jsonschemaとOpenAPI Spec ここで言及しているjsonschemaとOpe…

もうちょっと複雑なpythonでgoのコードを生成する例(わりとよい)

github.com もうちょっと複雑なpythonでgoのコードを生成する例を紹介して見ることにした。具体的にはswagger specを見てgoのstructを生成する処理。 go-swaggerなどswagger specからgoのコードを生成するツールは既にあったりはするのだけれど。これと似た…

テキトウな設定ファイル(yaml,json)から、swagger specを生成して、goのstructを定義してloadしてみる

github.com テキトウな設定ファイル(yaml,json)から、swagger specを生成して、goのstructを定義してloadしてみることにしてみた。 生成されるswagger specとgoのstruct定義は雛形っぽい感じであんまり真面目に作っていない。とりあえず雰囲気だけでも分かる…

marshmallowのコード生成でadditionalPropertiesをサポートするのがだるかった話し

最近作っている swagger-marshmallow-codegen というライブラリでswaggerの additionalProperties に対応するのがだるかったという話。 additionalProperties? additionalProperties というのはjsonschemaの方にもある。このあたりに書いてあるので読めばど…

pyramid-swagger-routerと一緒にtoyboxのswaggerのvalidationを使ってみる

相も変わらずtoyboxというリポジトリで作業していた。昨日試しに作ってみたswaggerのinput,outputのvalidationを行うものを昔作っていた pyramid-swagger-router と一緒に使ってみるようにしてみた。ココまで来るとそろそろswaggerに対するnormalizer + iter…

生成したmarshmallowのschemaをwrapしてpyramidから使えるようにしてみた

swaggerからmarshmallowのschemaを生成する機能は昔から作っていて、デフォルトでは definitions 部分だけしか見ないのだけれど。--full というオプションをつけると paths 以下の parameters や responses も見るようになっている。ここで生成したschemaをp…

swagger-marshmallow-codegen でpaths以下も見るようにした

swagger-marshmallow-codegen でpaths以下も見るようにした。あまりきれいとはいえない感じかもしれないけれど。 paths以下を見るということ 今まではdefinitions以下しか見なかったのだけれど。通常swaggerでapiの定義をするときにはpaths以下にも色々書く…

swagger-marshmallow-codegenでカスタマイズ出来るようにした

swagger-marshmallow-codegenで簡単なカスタマイズ出来るようにした。 例えば以下の様なことができるようになった defaultで使うschema classをMySchemaに変える 特定の条件を満たした値のときには自分で作った独自のfieldを使うように変える ただこれらはす…

pyramid-swagger-routerというパッケージを作りました

pyramid-swagger-router というパッケージを作りました。swaggerの定義ファイル(swagger.yaml)からpyramidのviewの定義のコードを生成するパッケージです。 特徴 特徴は、pyramid-swagger-routerという名前でありながら router に値するものが何もないという…

swagger-marshmallow-codegen というライブラリを作りました

swagger-marshmallow-codegen というライブラリを作りました。swaggerの定義ファイルからmarshmallow のschemaを生成するライブラリです。 ライブラリ? 正確にはライブラリでは無くコマンドです。marshmallowのschema定義のコードを生成するコマンドです。 …