구글링을 통해 얻은 예제인데요. 원래 service에 있던 메소드를 컨트롤러로 수정해봤는데 RestClientException가 뜹니다. 이 예외는 어떨 때 발생하는건가요?
`
@PostMapping("/kakaoPay.do")
public String kakaoPayReady(PaymentVO pay, HttpSession session) {
RestTemplate restTemplate = new RestTemplate();
// 서버로 요청할 Header
HttpHeaders headers = new HttpHeaders();
headers.add("Authorization", "KakaoAK " + "admin key를 넣었습니다.");
headers.add("Accept", MediaType.APPLICATION_JSON_UTF8_VALUE);
headers.add("Content-Type", MediaType.APPLICATION_FORM_URLENCODED_VALUE + ";charset=UTF-8");
// 서버로 요청할 Body
MultiValueMap<String, String> params = new LinkedMultiValueMap<String, String>();
params.add("cid", "TC0ONETIME");
params.add("partner_order_id", "1001");
params.add("partner_user_id", pay.getMem_email());
params.add("item_name", pay.getPi_nm());
params.add("quantity", "1");
params.add("total_amount", pay.getFinal_pay_amt().toString());
params.add("tax_free_amount", "100");
params.add("approval_url", "http://localhost/JinDam/kakaoPaySuccess");
params.add("cancel_url", "http://localhost/JinDam/kakaoPayCancel");//얘랑밑에는 만들어줘야돼
params.add("fail_url", "http://localhost/JinDam/kakaoPaySuccessFail");
HttpEntity<MultiValueMap<String, String>> body = new HttpEntity<MultiValueMap<String, String>>(params, headers);
try {
kakaoPayReadyVO = restTemplate.postForObject(new URI(HOST + "/v1/payment/ready"), body, KakaoPayReadyVO.class);
log.info("" + kakaoPayReadyVO);
session.setAttribute("pay", pay); //pay정보넘기기위해 세팅
return kakaoPayReadyVO.getNext_redirect_pc_url();
} catch (RestClientException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "pay/fail";
}`
+++ 에러가 추가됐습니다ㅠㅠ… 여기서 자꾸 404에러가 뜨는건 뭘까요?
HttpEntity<MultiValueMap<String, String>> body = new HttpEntity<MultiValueMap<String, String>>(params, headers);
try {
kakaoPayReadyVO = restTemplate.postForObject(new URI(HOST + "/v1/payment/ready"), body, KakaoPayReadyVO.class);