sunabak0 / akiyadego-openapi

https://petstore.swagger.io/?url=https://raw.githubusercontent.com/sunabak0/akiyadego-openapi/main/openapi.yml
0 stars 0 forks source link

openapi をファイル分割する #17

Closed sunakan closed 1 year ago

sunakan commented 1 year ago

目的

方針

sunakan commented 1 year ago

OpenAPI Generator と相性悪い。。ぐぬぬ

sunakan commented 1 year ago
Caused by: java.lang.RuntimeException: Could not find openapi.yml#components/schemas/Post on the classpath
sunakan commented 1 year ago

OpenGenerator を優先すると Swagger UIのほうがうまく行かない

sunakan commented 1 year ago

Swagger UIを優先すると OpenAPI Generator のほうがうまく行かない

sunakan commented 1 year ago

merger 使ってうまくできないかな

sunakan commented 1 year ago
components:
  schemas:
    Post:
      $ref: './components/schemas/post.yml'
    PostResponse:
      $ref: './components/schemas/post-response.yml'

こんな風にして、post.yamlは

post:
  required:
    - id
    - imagePath

は駄目(Post/Postとネストしてしまう)

required:
  - id
  - imagePath

とする必要がある

sunakan commented 1 year ago
components:
  schemas:
    Post:
      $ref: './components/schemas/post.yml'
    PostResponse:
      $ref: './components/schemas/post-response.yml'

だと、PostResponseクラスではなく、PostMinusResponseクラスができてしまう

=> ファイル名とクラス名は合わせるべきかも

sunakan commented 1 year ago

merged.yamlをOpenAPI Generatorに使った場合

PostResponseが参照するのはPostじゃなくなりそう

試す

sunakan commented 1 year ago

data class AllPost200ResponsePostsInner(

みたいなやつができた

これはOUT

sunakan commented 1 year ago

ついでに HTTP method の方も合わせて大文字にしても良さそう