# jackson
2023-05-23
Jackson Library 의 WRTIE_ONLY 이해하기WRITE_ONLY 는 JSON 역직렬화(JSON -> Java Object)에 사용된다. \- '왜 WRITE_ONLY 지?' 하고 생각했는데, Java Object 를 쓴다는 개념으로 접근하면 될 것 같다

@RequestBody가 null을 받았다
이럴 리가 없다. Ajax 코드를 살펴봐도, Postman을 통해 보내는 데이터의 필드명을 확인해도 DTO의 필드명과 다른 게 없다. 그런데 데이터가 안 들어온다. 호출된 메서드 이름만 나올 뿐 파라미터는 나오지 않는 로그를 보며 난데없는 고민이 시작됐다.

[Java] Json을 Java 객체로 변환하는 방법(Gson, Jackson, JSON-SIMPLE)
API를 사용하게 되면 많이 다루게 되는 데이터 형식 중 하나가 바로 json이다. 개발중인 서비스에서도 연계된 타 서비스의 데이터를 API로 받아오게 되는데, 대용량일 시 json 문자열을 Entity 객체로 파싱하며 성능 이슈가 있는 듯하여 현재 사용중인 라이브러리

Side-project : 예외기록(1)
이게 머임 ㅜ현재 상황 : 글 수정하는데 오류 발생. 편집 화면에서 넘어가지 않고 멈춤. DB확인해보니 수정된 내용 반영됨. 콘솔 예외처리 내용 : ChatGPT에 상담함 :\-> 뭐라는지 잘 몰겠음.. 대충 내부적으로 오류가 발생하면 HttpServletRespons
[SpringBoot] Json Deserialize 하기
Velog API로 HTTP request를 보낸후 json응답을 객체로 받아와야 한다.간단한 binding은 필드명만 맞게 작성한다면 문제가 없었지만..받아오는 json이 중첩되어있었기 때문에 직접 binding를 해주어야했다.UserTags에 대한 요청에 대한 응답

Jackson ObjectMapper
JSON 컨텐츠를 Java 객체로 deserializtion 하거나 Java 객체를 JSON으로 serializtion 할 때 사용하는 Jackson 라이브러리의 클래스ObjectMapper는 생성 비용이 비싸기 때문에 bean/static으로 처리하는 것이 좋다.Ca

@RequestBody로 받았는데 null인 경우
Postman에 @RequestBody에 필요한 값들을 넣어서 서버에 요청을 보냈는데 자꾸 null값을 가져오는 문제가?? Jackson과 Lombok @Getter 동작 원리에서 이유를 찾아보자!

VO(또는 래핑 객체)의 직렬화 문제
Vo 객체를 표현 계층에 사용하다. 이번 프로젝트를 진행하면서 VO의 직렬화에 대해서 고민을 했다. 기본적으로 Controller를 통해서 데이터를 주고 받을 때 Dto 객체를 활용한다. Dto 객체 자체는 문제가 없었지만 이번에 DDD를 처음 적용하면서 표현 영역을
[에러] No Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator
jackson 라이브러리가 어떻게 model을 생성해줘야하는지 몰라서 생기는 문제이다.model 클래스에 빈 생성자 를 추가해주면 문제는 해결된다. (별도의 setter또한 필요없다)출처https://stackoverflow.com/questions/53191

[SpringBoot]결제, 아임포트 문제 해결 과정 (2)
문제 정의 - Axios post방식을 통해 넘어온 데이터를 2개의 테이블에 저장해야하는 상황.(결제 내역, 예매 내역) - json 형식으로 넘어오는 json 데이터 객체를 서버에서 데이터를 어떻게 처리할지 고안 필요.

[Spring/SpringBoot] Jackson 이용하여 Json String ↔Map 변환
jackson의 getObjectMapper().writeValue(), getObjectMapper().readValue() 사용

[Spring] Jackson : Response, Request DTO 꽉잡기
최근 프로젝트를 하면서 당연하게 사용하던 DTO 매핑이 어떻게 일어나는지 궁금해졌고, DTO에 붙여주는 여러가지 롬북 어노테이션들.. 이중에 정말 필요한 것만 내가 쓰고있는가?라는 의문이 생겨서 싹 정리를 해보고 싶어졌습니다. DTO에 대부분의 어노테이션은 Objec

Lombok 과 Jackson Deserialize 관계
최근 회사에서 평소와 같이 업무를 보던 중 마케팅팀을 통해 특정 API에 오류가 있음을 전달 받았고, 해당 이슈에 대한 내용을 정리하고자 한다. 우선 이슈는 아래와 같다.크롤링 기능이 포함된 API 가 있다.API는 요청을 받으면 특정 웹 사이트의 데이터를 크롤링하고,
[spring5 입문] JSON 응답과 요청 처리
1. JSON 개요 (JavaScript Object Notation) 간단한 형식을 갖는 문자열로 데이터 교환에 주로 사용. 특징 객체 표현: 중괄호 사용. {이름:값} 문자열: "나 '을 사용해 표현. 숫자: 10진수 표기법 (1.5)이나 지수 표기법(1.07e2
InvalidDefinitionException
테스트 실행시 InvalidDefinitionException 발생한다.객체의 항목 중 LocalDateTime 이 있는 항목의 값을 ObejctMapper 를 사용해 입력 또는 가져오면 위와 같은 에러가 발생한다.Java 8에서 추가된 LocalDateTime 항목을
[Java] JSONObject 강제 형변환 시 ClassCastException 발생
RestClientException 발생 case >RestTemplate 을 활용한 http api 통신 응답코드가 4xx (CLIENTERROR), 5xx (SERVERERROR) 인 경우 RestClientException 반환 RestClientExceptio