Swagger CodeGenでダミーデータを返すスタブを出力する
Swagger codegenで言語にnodejs-serverを指定すると、Node.jsベースのRESTサーバが生成されます。基本的には空のデータを返す実装になるのですが、ある一定の条件を満たす場合は aeiou
や 123456789
といったダミーデータを返す実装を出力してくれるようです。
少し試した限りでは、responses
に深さ2以上の参照(参照の参照)を渡している場合は空データになってしまうようです。深さ1の場合はダミーデータになります。変な挙動ですね。
definitions: Pet: type: object required: - id - name properties: id: type: integer format: int64 name: type: string tag: type: string Pets: type: array items: $ref: '#/definitions/Pet' # 以下の場合は空データが返る responses: '200': description: successful operation schema: $ref: '#/definitions/Pets' # 以下の場合はダミーデータが返る responses: '200': description: successful operation schema: type: array items: $ref: '#/definitions/Pet'
swagger-codegenリポジトリにある samples/server/petstore/nodejs/controllers/PetService.js はダミーデータを返す実装になっているので、ここの書き方を参考にするとよさそうです。
ダミーデータなどではなくて、examplesに書いたJSONを返してくれるスタブを生成できるとうれしいのですが、残念ながら未実装のようです。テンプレートをカスタマイズすればできそうな気がします。