https://thisisnew-storage.tistory.com/3
equals()
는 여러 로직이 있어 기능적으로 낭비일 수 있다.str == null || str.trim().length() == 0;
return str == null || str.trim().isEmpty();
@GetMapping("/redirectTest")
public String redirectTest() {
logger.debug("GET /redirectTest");
return "redirect:/users";
}
@GetMapping("/forwardTest")
public String forwardTest() {
logger.debug("GET /forwardTest");
return "forward:/users";
}
@GetMapping("/users")
private String getMemberList(Model model) {
logger.debug("users", userRepository.findAll());
return "user/list";
}
HTTP 302 응답 후 이동, 클라이언트가 GET /user를 새로 요청한다.
/users로 url 변경
redirectTest(302), users(200) 로그 2개
서버에서 URL에 해당하는 컨트롤러 메소드를 실행
url 유지
forwardTest(200) 로그 1개
user/list.html을 이용해서 렌더링을 하고 클라이언트에게 응답
url 유지
users(200) 로그 1개
logger.debug를 통해 로그를 본 결과
forward일 경우 컨트롤러 메소드를 두번 호출 하는것 같다.
내부적으로 호출이 한 번더 이뤄지는 것 같다.
GET /users 의 경우는 곧바로 컨트롤러 메서드 한개만 호출 하는 것 같다.
유효하지 않는 게시글에 접속할 경우 null 값이 발생해서 500에러가 발생한다.
이부분 케어를 해야함.