SpringFox - Есть ли способ заменить спецификацию / определение модели, где ResponseEntity<?> Используется для фактического класса?

Мы используем следующие версии SpringFox:

       <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
             <version>2.6.1</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
             <version>2.6.1</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-spring-web</artifactId>
             <version>2.6.1</version>
        </dependency>

И создайте экземпляр SpringFox/Swagger 2, используя приведенный ниже компонент:

@Bean
    public Docket api(){
        return new Docket(DocumentationType.SWAGGER_2)
            .select()
            .apis(RequestHandlerSelectors.any())
            .paths(PathSelectors.any())
            .build()
            .alternateTypeRules(
          AlternateTypeRules.newRule(typeResolver.resolve(ResponseEntity.class, WildcardType.class),
                        typeResolver.resolve(WildcardType.class)))
            .apiInfo(apiInfo());
    }

Мы используем универсальный ResponseEntity для типа возвращаемого значения:

@RequestMapping(value = “/someMethod”, method = RequestMethod.POST)
    public ResponseEntity<?> someMethod(@RequestBody Application app) {

        try {
            return new ResponseEntity<>(aService.someMethod(app), HttpStatus.OK);
        } catch (Exception ex) {
            String errorMessage = ex + " <== error";
            LOG.error(errorMessage, ex);
            return new ResponseEntity<>(errorMessage, HttpStatus.BAD_REQUEST);
        }
    }

Используя ResponseEntity, мы получаем пустую схему модели {}, когда пытаемся просмотреть схему модели ответа, используя swagger-ui.html. Если мы изменим тип возвращаемого значения на ResponseEntity, схема модели заполняется для ответа.

Нам было интересно, есть ли способ использования аннотации или какой-либо конфигурации для замены спецификации / определения модели, где ResponseEntity используется для фактического класса?

Спасибо!

0 ответов

Другие вопросы по тегам