Error) Spring 406 에러

이지우·2022년 11월 22일
0

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 등으로 지정해서 에러 발생

profile
IT개발 입문합니다.

0개의 댓글