package com.wb.domainserver.util.communicate; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.wb.domainserver.exception.WnbtRestException; import lombok.AccessLevel; import lombok.NoArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; import java.util.Map; @NoArgsConstructor(access = AccessLevel.PRIVATE) @Slf4j public class MultiValueMapConverter { public static MultiValueMap convert(ObjectMapper objectMapper, Object dto) { try { MultiValueMap params = new LinkedMultiValueMap<>(); Map map = objectMapper.convertValue(dto, new TypeReference>() {}); params.setAll(map); return params; } catch (WnbtRestException wre) { log.error("Url Parameter 변환중 오류가 발생했습니다. requestDto={}", dto, wre); throw new WnbtRestException("Url Parameter 변환중 오류가 발생했습니다."); } catch (Exception e) { log.error("Url Parameter 변환중 오류가 발생했습니다. requestDto={}", dto, e); throw new IllegalStateException("Url Parameter 변환중 오류가 발생했습니다."); } } }