Текстовый код Swagger: название модели соответствует существующему типу языка - PullRequest
1 голос
/ 11 июня 2019

Я закодировал эту аннотацию к документации:

@ApiResponses(value = {
    @ApiResponse(code=HttpStatus.SC_CONFLICT, response = ResponseError.class),
    @ApiResponse(code=HttpStatus.SC_UNAUTHORIZED, response = ResponseError.class),
    @ApiResponse(code=HttpStatus.SC_BAD_REQUEST, response = ResponseError.class),
    @ApiResponse(code=HttpStatus.SC_INTERNAL_SERVER_ERROR, response = ResponseError.class)
})
public ResponseEntity<User> addUser(

Как вы видите, он возвращает ResponseError класс. ResponseError это сторонний класс, который я не могу изменить, и он выглядит так:

package cat.gencat.ctti.canigo.arch.web.rs.response;
public class ResponseError {
    private java.util.List<cat.gencat.ctti.canigo.arch.web.rs.model.Error> errors;

Я использую плагин maven swagger-codegen-maven-plugin для генерации классов модели TypeScript.

В настоящее время я получаю это предупреждение:

Ошибка (имя модели соответствует существующему типу языка) не может использоваться в качестве имени модели. Переименован в ModelError

Насколько я смог понять, это переименовывает класс cat.gencat.ctti.canigo.arch.web.rs.model.Error в ModelError.

Итак, генерируется modelError.ts код класса:

export interface ModelError {
    code?: number;
    message?: string;
}

Однако, если я взгляну на сгенерированный класс responseError.ts, он еще использует класс Error.

export interface ResponseError {
    errors?: Array<Error>;
}

Есть идеи?

...