재문의 드립니다.
파일등록 REST API 호출 시 400 bad request 에러 나오는데
어떤게 문제인지 모르겠네요.
답변 부탁드립니다.
앱아이디 : 588283
public int createUserFile(String file_nm) throws Exception
{
logger.debug("KakaoSyncService.createUserFile:::kakao_sync_url=[{}]", kakao_sync_url);
logger.debug("KakaoSyncService.createUserFile:::file_nm=[{}]", file_nm);
int file_id = -1;
ObjectMapper objectMapper = new ObjectMapper();
MultiValueMap<String, String> parameters = new LinkedMultiValueMap<>();
MultiValueMap<String, String> schema_data = new LinkedMultiValueMap<>();
parameters.add("channel_public_id", public_id);
parameters.add("file_name", file_nm);
schema_data.add("앱유저아이디", "string");
schema_data.add("이름", "string");
schema_data.add("생년월일", "string");
schema_data.add("지역", "string");
schema_data.add("성별", "string");
schema_data.add("연령", "number");
schema_data.add("구매금액", "number");
schema_data.add("가입일", "string");
schema_data.add("최근구매일", "string");
parameters.add("schema", schema_data.toString());
logger.debug("parameters:::{}", parameters.toString());
try
{
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> responseEntity = restTemplate.postForEntity(kakao_sync_url, makeHaederRequest(schema_data), String.class);
logger.debug("responseEntity:::{}", responseEntity);
if (responseEntity.getStatusCode() == HttpStatus.OK) {
SOMap body = objectMapper.readValue(responseEntity.getBody(), new TypeReference<SOMap>(){});
logger.debug("responseEntity.body:::{}", body);
file_id = body.getDbInt("file_id");
logger.debug("file_id:::{}", file_id);
}
}
catch (Exception e)
{
logger.warn(e.getMessage(), e);
}
return file_id;
}
private HttpEntity<MultiValueMap<String, String>> makeHaederRequest(MultiValueMap<String, String> parameters)
{
logger.debug("authorization_key:::{}", authorization_key);
logger.debug("makeHaederRequest.parameters:::{}", parameters);
HttpHeaders headers = new HttpHeaders();
headers.add("Authorization", "KakaoAK " + authorization_key);
headers.setContentType(MediaType.APPLICATION_JSON);
logger.debug("headers:::{}", headers);
HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<>(parameters, headers);
return request;
}