в соответствии с соглашениями REST, у вас должен быть не / обзор, а / пользователь / обзор. Вы можете установить его, указав @RequestMapping ("/ user") в вашем userController.
Точно так же у вас будет конечная точка "/ твит / обзор".
@Controller
@Slf4j
@RequestMapping("/tweet")
public class TweetController {
делать это любым другим способом - против соглашений, против правил Spring и, вероятно, означает, что вы делаете что-то не так. Spring не позволяет использовать два метода с одним и тем же URI, потому что он не знает, какой именно метод вы хотите вызвать.
upd: если вам нужна логика, вы можете отправить параметры в GET: / Overview? CustomParam = user
@GetMapping( "/overview")
public String tweetsFromUser(@RequestParam(value="customParam") String
param, Principal principal, Model model) {
// logic checking customParam...
Но это НЕ МОЖЕТ быть в двух разных контроллерах. Единственный способ указать контроллер - использовать base-uri, а параметры не являются его частью.
Spring определяет метод по 2 параметрам: отображение и метод HTTP. Нет никакого способа, если вы не измените Spring вручную, чтобы разрешить третий параметр в этом случае. Также нет третьего параметра.
В качестве альтернативы, у вас может быть третий контроллер с Mapping, который вызывает два других контроллера при срабатывании конечной точки "/ Overview". В этом случае вам нужно удалить сопоставление из твитов и пользовательских контроллеров.