Сделать аргумент необязательным в @PathVariable и @RequestParam ⇐ JAVA

Программисты JAVA общаются здесь
Anonymous
Сделать аргумент необязательным в @PathVariable и @RequestParam

Сообщение Anonymous »

Я создаю контроллер, который принимает два аргумента в качестве @PathVariable, и я хочу сделать второй аргумент необязательным, поэтому я сделал это так: >

Код: Выделить всё

@GetMapping(value = {"${URL.COACH.GET.ALL.COACH.BY.CORPORATE.NAME}"})
public ResponseEntity getCoachDetailsByCorporateName(@PathVariable String corporateName , @PathVariable(required = false) RoleType roleType){
System.out.println("ins controller");
return coachFacade.getCoachDetails(corporateName,roleType);
}
где->

Код: Выделить всё

URL.COACH.GET.ALL.COACH.BY.CORPORATE.NAME=/getAllCoachByCorporateName/{corporateName}/{roleType}
Я добавил require = false во второй аргумент.
но при вызове таким образом выдает ошибку: путь не найден

Код: Выделить всё

http://localhost:8080/getAllCoachByCorporateName/ABC/
Когда я делал то же самое с @RequestParam, я получил ту же ошибку

Код: Выделить всё

@GetMapping(value = {"${URL.COACH.GET.ALL.COACH.BY.CORPORATE.NAME}"})
public ResponseEntity getCoachDetailsByCorporateName
(@RequestParam String corporateName,
@RequestParam(required = false ) RoleType roleType) {
System.out.println("ins controller");
return coachFacade.getCoachDetails(corporateName, roleType);
}

Код: Выделить всё

http://localhost:8080/getAllCoachByCorporateName?corporateName=ABC
Я нашел в Интернете статьи об этом, они делали то же самое. Я не мог понять, где я ошибаюсь.

Подробнее здесь: https://stackoverflow.com/questions/766 ... questparam

Вернуться в «JAVA»