我有这样元素:
@ApiModel(description = "...")
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen")
public class MissionContext {
@JsonProperty("missionName")
private String missionName;
....
@ApiModelProperty(required = true, value = "")
public String getMissionName() {
return missionName;
}
...
}
好的,这看起来不错,这个使命名称应该在发布请求的主体中是必需的,但它不是。
我的openapi 3.0.0定义:
MissionContext:
type: object
description: text
properties:
missionName:
type: string
required: [ missionName ]
要生成代码的部件
<plugin>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<version>${openapi.generator.version}</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<apiPackage>com.fake</apiPackage>
<generateSupportingFiles>false</generateSupportingFiles>
<generatorName>spring</generatorName>
<inputSpec>${project.basedir}/src/etc/file.yaml</inputSpec>
<configOptions>
<interfaceOnly>true</interfaceOnly>
<modelPackage>portal</modelPackage>
<skipDefaultInterface>true</skipDefaultInterface>
<useBeanValidation>false</useBeanValidation>
</configOptions>
</configuration>
</execution>
</executions>
</plugin>
JacksonBean -默认配置,不包含任何添加的模块等。
有没有人可以帮助我?如何回应坏的请求没有使命名称在身体的要求?
1条答案
按热度按时间uoifb46i1#
我在使用
io.openapiprocessor:openapi-processor-spring
时遇到了类似的问题。没有生成验证注解。原因是缺少“bean验证:true”选项部分。对于必填字段,它现在在Java字段的
@JsonProperty
注解旁边生成@NotNull
。此外,@Valid注解现在添加到控制器API接口中方法的主体参数中。