Files
sake/src/main/java/com/wb/domainserver/util/communicate/MultiValueMapConverter.java
2025-10-29 17:08:05 +09:00

33 lines
1.4 KiB
Java

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<String, Object> convert(ObjectMapper objectMapper, Object dto) {
try {
MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
Map<String, Object> map = objectMapper.convertValue(dto, new TypeReference<Map<String, Object>>() {});
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 변환중 오류가 발생했습니다.");
}
}
}