我的问题与以下问题相同;

Jackson POJOPropertyBuilder finds multiple setters in POJO

但是,因为我使用“ springfox-swagger2”,所以我不使用SwaggerSpringMvcPlugin

有办法解决这个问题吗?

应用程序

/* Makes this Application Run as Spring Boot Application */
@SpringBootApplication
/* Enables Swagger2API for documentation */
@EnableSwagger2
public class Application extends SpringBootServletInitializer {

public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
    LogService.info(Application.class.getName(), "CustomerAPI Service Started");
}

@Bean
public Docket customerApi() {
    return new Docket(DocumentationType.SWAGGER_2)
            .groupName("Customer Application")
            .apiInfo(apiInfo())
            .select()
            .paths(myAppPaths())
            .build();
}

private ApiInfo apiInfo() {
    return new ApiInfoBuilder()
            .title("Customer API")
            .description("Some Description to Show")
            .termsOfServiceUrl(null)
            .contact("Test Test")
            .license("Apache License Version 2.0")
            .licenseUrl(
                    "https://github.com/springfox/springfox/blob/master/LICENSE")
            .version("2.0")
            .build();
}

@SuppressWarnings("unchecked")
private Predicate<String> myAppPaths() {
    return or(regex("/.*"));
}

最佳答案

解决了。如Springfox文档所说,DocketSwaggerSpringMvcPlugin非常相似。因此,我们可以像下面这样来解决此问题。

@Bean
public Docket customerApi() {
return new Docket(DocumentationType.SWAGGER_2)
        .directModelSubstitute(XMLGregorianCalendar.class, String.class)
        .groupName("Customer Application")
        .apiInfo(apiInfo())
        .select()
        .paths(myAppPaths())
        .build();
}


希望这对以后的人有所帮助。

10-08 02:18