Ser*_*gio 2 java spring swagger swagger-codegen-maven-plugin
swagger-codegen 根据路径名生成 APIController。
假设您的 swagger.yaml 中有以下路径:
/pet/findByStatus: /user/{userId} /store/inventory
然后codegen将生成PetAPIController、UserAPIController、StoreApiController。
但我的 API 是这样的:
/private/pet/findByStatus:/private/user/{userId} /public/store/inventory
所以我最终得到了两个主要控制器:PrivateAPI 和 PublicAPI
有什么办法可以避免这种情况吗?使用标签,或仅使用第二个路径词。
谢谢
Swagger Codegen 的spring生成器具有useTags告诉代码生成器使用标签来命名接口和控制器类的选项(true/false)。使用 Swagger Codegen Maven 插件时,您可以在以下<configOptions>部分中指定此选项:
<configuration>
<inputSpec>${project.basedir}/src/main/resources/api.yaml</inputSpec>
<language>spring</language>
<configOptions>
<useTags>true</useTags>
</configOptions>
</configuration>
Run Code Online (Sandbox Code Playgroud)
当useTags=时true,具有特定标记的操作(例如 )admin将被放入AdminApi.java和AdminApiController.java中。
确保在 API 定义中适当标记所有操作:
paths:
/foo:
get:
tags: # <-----
- admin
...
Run Code Online (Sandbox Code Playgroud)