Я пытаюсь выяснить, как у меня может быть одна конечная точка /api/test
со следующими критериями.
Есть 3 необязательных параметра, foo, bar & dove
Мне нужно два ответы, основанные на их комбинациях.
Например,
/api/test?foo=foo&bar=bar (calls function to return ObjectA)
/api/test?foo=foo&dove=dove (calls function to return ObjectB)
Это сработало бы, если бы у меня были уникальные параметры для каждого URL-адреса, но они оба разделяют foo
. Как я могу отобразить их отдельно, даже если они имеют необязательный параметр?
Вот что я попробовал:
@Controller
@RequestMapping("/api/test")
.
.
.
@GetMapping(params={"bar"})
public List<ObjectA> getAllObjectA(@RequestParam("bar") String bar,
@RequestParam("foo") Optional<String> foo){
return service.getAllObjectA(bar, foo.orElse("");
}
@GetMapping(params={"dove"})
public List<ObjectB> getAllObjectB(@RequestParam("dove") String dove,
@RequestParam("foo") Optional<String> foo){
return service.getAllObjectB(dove, foo.orElse(""));
}
Есть ли способ выполнить sh это?