프론트에서 서버로 요청을 보내 진행해야 하는 작업이 있어서 아래와 같은 코드를 작성했다.
요청 전송이 확인이 되고 나면 그 때, 다음 코드를 진행하려고 했기 때문이다.
$.ajax({
type: "PUT",
url: `/api/rooms/${roomId}`,
success: function () {
console.log("요청 성공");
},
error: function () {
console.log("요청 실패");
}
})
이렇게 작성하고, 받는 서버쪽의 코드는
@PutMapping("/api/rooms/{roomId}")
public void leavePrivateChatRoom(
@AuthenticationPrincipal UserDetailsImpl userDetails,
@PathVariable String roomId) {
log.info(roomId);
}
이렇게 작성했다.
그랬더니 오류가 났다 !!! "요청 실패"
란다..
서버로 요청이 넘어가서 로그가 찍히는 것까지 확인을 했는데 실패로 처리된 이유가 뭐지 ..?
다시 생각해보니..
반환 해주는 게 없다 ! 컨트롤러의 반환 타입은 void라 반환할 무언가가 없어서
그냥 error로 처리되지 않았나 싶다 ..
그래서 서버쪽의 코드를 변경했다.
@PutMapping("/api/rooms/{roomId}")
public ResponseEntity<String> leavePrivateChatRoom(
@AuthenticationPrincipal UserDetailsImpl userDetails,
@PathVariable String roomId) {
log.info(roomId);
return ResponseEntity.ok().body("성공");
}
상태코드와 메세지를 함께 반환하는 것으로 수정했다.
그리고 다시 실행해본 결과
원하는 결과를 얻었다 !