@Entity 클래스에 보통 id 값을 Long 으로 잡는데 이럴때 ObjectMapper가 Long 컨버팅 안됨. 아무튼 안됨
할때가 있다. (String.valueOf() 는..? 했었음.)
이때는 제네릭 타입을 정확히 잡아주는 TypeReference<T> 를 사용하자.
@GetMapping("/account/find/{id}")
public Map<String,String> findAccount(@PathVariable Long id){
try {
Account account = accountService.processFindAccount(id);
Map<String, String> stringStringMap = new ObjectMapper().convertValue(account,
new TypeReference<Map<String, String>>() {
});
log.warn(stringStringMap.toString());
return stringStringMap;
}catch (Throwable ex) {
Map<String,String > result = new HashMap<>();
result.put("Exception",ex.getMessage());
return result;
}
}
'작업하면서 배우는 것들' 카테고리의 다른 글
Intelli J 에서 .http 파일 사용 (0) | 2020.12.23 |
---|---|
Missing URI template variable for method parameter of type (0) | 2020.12.23 |
Zipkin 에 서비스가 등록되지 않아 로그 트레이싱이 안 될 때 (0) | 2020.12.22 |
Sleuth 사용 중 커멘드라인이 너무 길다는 메시지 (0) | 2020.12.22 |
JPA Query DSL 그레이들에 적용하기 (0) | 2020.12.21 |