Отключить перечислительное поведение для конфликтов имен между контроллерами - PullRequest
1 голос
/ 29 февраля 2020

Я генерирую код для моих Angular клиентов, использующих Springfox.

Один из моих контроллеров MenuCardController имеет метод getAll(), который выглядит следующим образом:

@RequestMapping(value = CONTROLLER_ROOT + "/menu-cards", method = RequestMethod.GET)
@PageableAsQueryParam
public Page<MenuCard> getAll(
        @PathVariable(name = "businessId") Long businessId,
        @Parameter(hidden = true) Pageable pageable
) {
    return this.menuCardService.getAll(businessId, pageable);
}

Однако сгенерированный код выглядит следующим образом:

getAll1(businessId: number, page?: number, size?: number, sort?: Array<string>, observe?: 'body', reportProgress?: boolean): Observable<PageMenuCard>;
getAll1(businessId: number, page?: number, size?: number, sort?: Array<string>, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<PageMenuCard>>;
getAll1(businessId: number, page?: number, size?: number, sort?: Array<string>, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<PageMenuCard>>;

Это по существу правильно, но по какой-то причине к имени добавлен 1. Этот контроллер не имеет никакого другого метода, который называется getAll.

Глядя на другой сгенерированный код, который я получил:

getAll3(businessId: number, observe?: 'body', reportProgress?: boolean): Observable<Array<PaymentMethodModel>>;
getAll3(businessId: number, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Array<PaymentMethodModel>>>;
getAll3(businessId: number, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Array<PaymentMethodModel>>>;

Так что вопрос в том, можно ли повернуть это поведение? выкл. Кажется, что, например, getAll становится «зарезервированным» глобально для всего API, а не только для одного <name>ControllerService объекта.

1 Ответ

0 голосов
/ 25 апреля 2020

Попробуйте добавить @Api:

@Api("Menu Card")
@RestController
@RequestMapping("/menucard")
public class MenuCardController {
...