如何在SpringBoot中仅从Open Api生成模型类?

bksxznpy  于 2022-11-06  发布在  Spring
关注(0)|答案(1)|浏览(156)

例如,这是我的开放API。

openapi: "3.0.0"
paths:
  /pets:
    get:
      summary: List all pets
      operationId: listPets
      tags:
        - pets
      parameters:
        - name: limit
          in: query
          ...
      responses:
        ...
    post:
      summary: Create a pet
      operationId: createPets
      ...
  /pets/{petId}:
    get:
      summary: Info for a specific pet
      operationId: showPetById
      ...
components:
  schemas:
    Pet:
      type: object
      required:
        - id
        - name
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        tag:
          type: string
    Error:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string

我只想在src/main/java的com.service.model包中生成模型类,而不是api和其他东西,而不是springboot中的目标文件夹。

bnl4lu3b

bnl4lu3b1#

我认为生成的源代码应该总是在目标文件夹中创建,而不是在源代码文件夹中创建。除此之外,所有代码(生成的或您自己的)最终都将位于同一个类路径中。
但是,如果您坚持要更改默认位置(target/generated-sources),您可以在pom.xml中的swagger-codegen配置中添加如下内容:<output>src/main/java</output>
要只生成Model代码,您可以将这些标记添加到您的codegen配置中:

<plugin>
  <artifactId>swagger-codegen-maven-plugin</artifactId>
  <executions>
    <execution>
      <configuration>                            
        <generateApis>false</generateApis>
        <generateModelDocumentation>false</generateModelDocumentation>
        <generateSupportingFiles>false</generateSupportingFiles>
      </configuration>
    </execution>
  </executions>
</plugin>

相关问题