我正在为我创建的新Java服务使用OpenAPI。我正在使用OpenAPI -generator-maven-plugin从OpenAPI规范生成Java代码。团队中的一名成员给了我一个难题,他想创建一个新的REST端点,但是要使用现有的类,而不是通过OpenAPI模式/组件方法指定对象。关于importMappings
的文档不是很清楚,我已经尝试过这种方法,但它似乎不起作用。有没有人知道是否可以使用现有的POJO类,如果是,你有一个工作的例子,你可以分享?
<importMappings>
<importMapping>Trade=com.org.project.Trade</importMapping>
</importMappings>
以上内容已添加到…项目pom.xml中openapi-generator-maven-plugin定义的部分
然后我尝试在我的open api json文件中定义如下模式。
TradeWrapper:
type: object
properties:
trade:
$ref: "#/components/schemas/Trade"
试试这个:
TradeWrapper:
type: object
properties:
trade:
$ref: "Trade"
这对我来说是有效的,但它需要两个小的修复:
- pom.xml,在openapi-generator-maven-plugin
<importMappings>
<schemaMapping>Trade=com.org.project.Trade</schemaMapping>
</importMappings>
- in openapi.yaml:
TradeWrapper:
type: object
properties:
trade:
$ref: "#Trade"