Я хочу создать 2 конечные точки в моем аннотированном весеннем загрузочном проекте @RestController.
Endpoint 1: api/account/balance/{accountnum}
Endpoint 2: api/account/balance/{accountnum}?datetime = {datetime}
Обе конечные точки имеют один и тот же URI до тех пор, пока переменная пути, но вторая не имеет в ней дополнительный параметр запроса. Но когда я отправляю запрос, он всегда переходит к первой конечной точке (без параметра запроса).
Можно ли создать эти 2 конечные точки с одним и тем же URL-адресом, но с дополнительным параметром запроса?




Нет, вы не можете, вы можете получить значение параметра datetime, если оно имеет значение, затем выполните операцию на его основе, иначе выполните другую операцию.
Вы можете создать одну конечную точку с параметром запроса как необязательным по умолчанию. Если вы хотите указать, вы можете использовать, как показано ниже
@RequestParam(value = "myProp", required = false) String myProp
Я думаю, что
@Te J asпытается сказать, что в контроллере должен быть один метод для разрешения URIapi/account/balance/{accountnum}. Затем на основе параметраdatetime; который должен быть необязательным, вы можете вернуть желаемый результат контроллером. В противном случае будет невозможно иметь 2 преобразователя для одной и той же конечной точки, если только один не являетсяpost, а другой —get.