1. 에러 메시지
Resolved [org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation]
2. 원인
- PaymentController
1
2
3
4
5
6
7
8
9
10
11
12
|
@PostMapping("/new")
@ResponseBody
public ResponseEntity<?> savePayment(@RequestBody PaymentRequest paymentRequest) {
log.info("Payment controller: /api/payment/new ---------------------");
// // 빌링키 발급에 실패한 경우
if (billingKeyJson.getCode() != 0) {
return new ResponseEntity<>(billingKeyJson.getMessage(), HttpStatus.BAD_REQUEST);
}
}
|
cs |
- 결제API 오류 데이터를 테스트하는 과정에 log에는 한글이 잘 나오지만, Postman 데이터에는 한국어가 깨지는 것을 확인했다.
3. 해결
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
@PostMapping("/new")
@ResponseBody
public ResponseEntity<?> savePayment(@RequestBody PaymentRequest paymentRequest) {
log.info("Payment controller: /api/payment/new ---------------------");
// Header 추가 설정
HttpHeaders resHeaders = new HttpHeaders();
resHeaders.add("Content-Type", "application/json;charset=UTF-8");
// // 빌링키 발급에 실패한 경우
if (billingKeyJson.getCode() != 0) {
return new ResponseEntity<>(billingKeyJson.getMessage(), resHeaders, HttpStatus.BAD_REQUEST);
}
}
|
cs |
- 6-8줄까지의 헤더에 제대로 설정을 하니 한국어가 원활하게 받아지는 것을 확인했다.
참고 사이트