[英]Optional<?> field in java class, model, not showing on swagger ui
我已经在我的 Spring Boot 应用程序上设置了一个招摇,很多方法和控制器都可以正常工作。 问题是响应类中的一个字段,其中可选字段未在 UI 上显示。
public class CalculatedResult {
private CalculatorKey key;
private CalculatedField field;
**@ApiModelProperty(value = "Depending on CalculatedField it can be number or string")
private Optional<?> value;**
... getters setters and etc
和招摇班:
@Bean
public Docket api() {
//global default message that are on all methods
List<ResponseMessage> globalMessages = Arrays.asList(GLOBAL_MESSAGES); // ignore this
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("pts.riskengine"))
.paths(PathSelectors.any())
.build()
.directModelSubstitute(LocalDate.class, String.class)
.genericModelSubstitutes(ResponseEntity.class)
.alternateTypeRules(
newRule(typeResolver.resolve(DeferredResult.class,
typeResolver.resolve(ResponseEntity.class, WildcardType.class)),
typeResolver.resolve(WildcardType.class)))
.additionalModels(typeResolver.resolve(ClientSettings.class), typeResolver.resolve(CalculatedResult.class),
typeResolver.resolve(CalculatorKey.class))
.useDefaultResponseMessages(false)
.forCodeGeneration(true)
.apiInfo(apiInfo())
.securitySchemes(Arrays.asList(securityScheme()))
.securityContexts(Arrays.asList(securityContext()))
.globalResponseMessage(RequestMethod.GET, globalMessages)
.globalResponseMessage(RequestMethod.POST, globalMessages)
.globalResponseMessage(RequestMethod.PUT, globalMessages)
.globalResponseMessage(RequestMethod.DELETE, globalMessages)
;
}
我试图将 .additionalModels 和 .genericModelSubstitutes 作为字符串放入,但不起作用。 dataType = "java.lang.String" 也没有解决我的问题。 有没有其他人遇到过这种问题或知道如何解决?
查看 UI:屏幕截图
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.8.0</version>
<scope>compile</scope>
</dependency>
可选类不可序列化。 这就是为什么 swagger 没有显示 Optional 的原因。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.