https://velog.io/@0_sujeong/error-spring-ajax-return-406%EC%97%90%EB%9F%AC
스프링에서 ajax를 통해 통신을 하려면 컨트롤러에서는 json 응답으로 클라이언트에게 넘겨줘야하는데, 1. 라이브러리가 없어서거나 2. 웹페이지에서 개발자도구를 봤을때 응답이 json타입이 아닌 text/html타입이기 때문이다.
// 좋아요 삭제
@DeleteMapping(value = "/rest/likes/delete",
consumes = "application/json",
// produces = {MediaType.TEXT_PLAIN_VALUE})
produces = {MediaType.APPLICATION_JSON_UTF8_VALUE})
public ResponseEntity<Integer> remove(@RequestBody LikeVO likeVO){
// public int remove(@RequestBody LikeVO likeVO){
log.info("remove likeVO: " + likeVO);
Integer likeCnt = service.remove(likeVO);
// return == 1
// ? new ResponseEntity<String>("success", HttpStatus.OK)
// : new ResponseEntity<String>(HttpStatus.INTERNAL_SERVER_ERROR);
return new ResponseEntity<Integer>(likeCnt, HttpStatus.OK);
Ajax 사용 시@Controller 메서드의 produces 타입을 JSON으로 해줘야 하는데 text 등으로 지정해서 에러 발생