Spring boot : Object -> Map 변환

김아무개·2023년 8월 8일
0

Spring Boot 🍃

목록 보기
62/95

보고 배운 곳 : https://moonong.tistory.com/61


ObjectMapper를 사용하여 변환하는 방법이 있다.

ObjectMapper는 Spring boot에서 bean으로 관리하는 객체이기 때문에
생성자 주입방식으로 주입 받아 사용!

1. dto 객체 생성

public record TestDto (
        String name,
        Integer postcode,
        String route
) {
    public static TestDto of (String name, Integer postcode, String route) {
        return new TestDto(name, postcode, route);
    }
}

2. dto -> map 변환


@Slf4j
@Service
@RequiredArgsConstructor
public class TestService {

    private final ObjectMapper objectMapper;

    public void hashData(String data) {
        TestDto origin = TestDto.of("zhyun", 12345, "/board");
        
        // TestDto -> Map
        HashMap<String, Object> toMap = objectMapper.convertValue(testDto, HashMap.class);
        
        // Map -> TestDto
        TestDto toDto = objectMapper.convertValue(toMap, TestDto.class);
        
        // 값 확인
        log.info("👉 is same {} ", Objects.equals(origin, toDto));
        toMap.forEach((o, o2) -> log.info("🐢 key :: {} , val :: {}", o, o2));
    }
}

profile
Hello velog! 

0개의 댓글