170 похожих чатов

Уважаемые, как попросить swagger-ui отобразить оба эндпоинта /api/countries и /api/countries?name=some

- path один, различаются только наличием параметра. В коде контроллера это два метода, но в swagger-ui отображается только один из них.

@RestController
@RequestMapping("/api/countries")
.. class ..

// /api/countries
@io.swagger.annotations.ApiOperation("list all countries")
@GetMapping
public List<Country> findAll() {
return service.findAll();
}


// /api/countries?name=some
@ApiOperation("list countries filtered by name")
@GetMapping(params = "name")
public List<Country> findByName(@RequestParam String name) {
return service.findByName(name);
}

Гуглил всякое типа "swagger separate api by parameters". Пока нагулил только, что swagger так не умеет. Как бы тогда задизайнить?
Можно, конечно, в одном методе и сделать параметр required=false, но так, по-моему, хуже.
Картинко из swagger-ui.

12 ответов

24 просмотра

Может оба метода на один метод повесить? Не знаю как на это отреагирует сваггер, но спринг справится

/api/countries/{name} как вариант PathParam или как там его

Cyclone- Автор вопроса
Sergey Bezrukov
/api/countries/{name} как вариант PathParam или ка...

Не REST-API'шечно. Я же не одну county по name выбираю.

Это выглядит, как корявый дизайн апи, почему это разные эндпоинты с точки зрения внешнего пользователя-то?

Чем это не один метод апи?

Cyclone- Автор вопроса
Alexandr ∨∧‾ Emelyanov
Чем это не один метод апи?

По аналогии со спринг датой - findAll без параметров, findByName с параметром name.

Cyclone
По аналогии со спринг датой - findAll без параметр...

просто findAll без параметров? прям все из базы вытащить? если по аналогии со spring data, то хотя бы Pageable параметр туда передавать нужно в случае со свагерром - хз. я до сих пор на старой версии 2.7.0 свагера сижу. мня устраивает, свои функции выполняет. новый чето не нравиться. возможно вам нужно выбрать какуюто стабильную версию

Shamil Sabirov
просто findAll без параметров? прям все из базы вы...

Просто findAll без параметров Есть и перегрузки с Examaple /Pageable и т д

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта