ResponseEntity<String> 사용시 리다이렉트

JEONG SUJIN·2022년 11월 8일
0

ResponseEntity직접적인 리다이렉트를 수행할 수 없다.
ResponseEntity는 HTTP 응답을 나타내는 객체로, 응답의 상태 코드, 헤더 및 본문을 포함할 수 있다.

@PostMapping("/accommodation/save")
public String saveAccommodationAndRoomInfo(@ModelAttribute AccommodationsDto accommodationsDto) {
    Long accommodationId = accommodationService.insertAccommodationAndRoomInfo(accommodationsDto);

  
  if(accommodationId != null) {
	    	return ResponseEntity.ok("숙소정보가 성공적으로 저장되었습니다.");
	    }else {
	    	return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("숙소 정보 저장에 실패했습니다.");
	    }
        
    }

리다이렉트를 수행하기 위해서는 대신에 컨트롤러에서 메소드의 반환 타입을
String으로 지정하고, 리다이렉트를 수행하는 문자열을 반환

@PostMapping("/accommodation/save")
public String saveAccommodationAndRoomInfo(@ModelAttribute AccommodationsDto accommodationsDto) {
  Long accommodationId = accommodationService.insertAccommodationAndRoomInfo(accommodationsDto);
  
  if (accommodationId != null) {
      // 숙소 정보가 성공적으로 저장되었을 때
      return "redirect:/accommodation/success";
  } else {
      // 숙소 정보 저장에 실패했을 때
      return "redirect:/accommodation/error";
  }
}
profile
기록하기

0개의 댓글