Повторяющиеся записи в Swagger

1

Я пишу API, используя библиотеку HalBuilder для представлений HAL.

В настоящее время мне нужно иметь два разных метода для представлений JSON и HAL. Например, мой VersionResource включает в себя следующие два метода:

@GET
@ApiOperation(value = "Find all versions", response = Version.class, responseContainer = "List")
@Produces({MediaType.APPLICATION_JSON})
public Response getAsJson() {
    List<Version> versions = repository.selectAll();
    return Response.ok().entity(versions).build();
}

@GET
@ApiOperation(value = "Find all versions", notes="Returns HAL format", response = Representation.class, responseContainer = "List")
@Produces({RepresentationFactory.HAL_JSON})
public Representation getAsHalJson() {
    List<Version> versions = repository.selectAll();
    return this.versionRepresentationFactory.createResourceRepresentation(versions);
}

(Примечание: я уверен, что есть лучший способ свернуть эти методы, и я ищу способ сделать это)

Но моя непосредственная проблема заключается в том, что использование двух методов приводит к дублированию записей в моей документации Swagger:

Изображение 174551

Эти два GET/versions - это то же самое, но у них разные типы возврата, поэтому Swagger хочет, чтобы они были разными.

Я бы хотел разбить этих двух. Какие у меня варианты?

[Возможно, стоит отметить, что я использую плагин Swagger Maven для создания моей документации. Приложение также использует Guice for DI и Jersey для представлений JSON.]

Теги:
swagger
swagger-ui
halbuilder

1 ответ

2
Лучший ответ

Я читал в https://github.com/swagger-api/swagger-spec/issues/146#issuecomment-59082475:

для каждого проекта мы не перегружаем определения типа ответа для одного и того же кода ответа.

Поэтому я думаю, что плагин Maven создает недопустимый документ Swagger.

Какие у вас варианты?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню