Unauthorized 에러가 발생합니다

@Service
@RequiredArgsConstructor
public class OpenApiService {

private final RestTemplate restTemplate;

@Value("${kakao.apiKey}")
private String kakaoKey;

public void getToken(String code){
    HttpHeaders headers = new HttpHeaders();
    headers.add("Content-type", "application/x-www-form-urlencoded;charset=utf-8");

    JSONObject body = new JSONObject();
    body.put("grant_type","authorization_code");
    body.put("client_id", kakaoKey);
    body.put("redirect_uri","http://localhost:8080/openapi/kakao");
    body.put("code",code);

    LoginResponseDto loginResponseDto = restTemplate.postForObject("https://kauth.kakao.com/oauth/token", new HttpEntity<>(body.toString(),headers), LoginResponseDto.class);
}

}

자바 스프링 사용하고 있습니다.
There was an unexpected error (type=Internal Server Error, status=500).

401 Unauthorized: [no body]

org.springframework.web.client.HttpClientErrorException$Unauthorized: 401 Unauthorized: [no body]
이 에러가 계속 발생하는데 왜그럴까요…

code는 제대로 가져오는데 토큰가져오는곳에서 에러가 발생하는거 같습니다.

안녕하세요.

확인을 위해 앱 ID 부탁드립니다.


앱ID
https://developers.kakao.com/ 의 내 애플리케이션>앱 설정>요약 정보 : 기본정보에 있는 앱 ID
숫자로된 ID 입니다
ex) 123456

900490 입니다.

json object 를 body에 넣으셨네요. request 는 json형태로 받지 않고 x-www-form-urlencoded로 받습니다.

파라메터 패턴으로 body에 넣에주세요.

Content-type: application/x-www-form-urlencoded;charset=utf-8

https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#request-token

감사합니다.