ITと服と食と

洋服と食をこよなく愛するWebプログラマ。

ビュー名を返すだけのControllerなら、Controllerは別にいらないらしいよ!

ログインフォームに誘導しようとした際、View名返すだけのControllerを作らなきゃいけません。
そんなとき、以下のようなConfigクラスを作ればこのControllerが必要ないんです!

@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("login").setViewName("login/login-form");
    }
}

ちなみに、Controllerを実装した場合はこんな感じ。

@Controller
@RequestMapping("/login")
public class LoginController {

    @RequestMapping
    public String login() {
        return "login/login-form";
    }
}

これだけ見てみるとそんなにコード量が変わらないというかむしろController作った方が少なそうだけど。笑