From 4af9ade77f63db25cce27c56ff052d37870b4a6d Mon Sep 17 00:00:00 2001 From: Moon Date: Thu, 22 Jan 2026 13:44:03 +0900 Subject: [PATCH] =?UTF-8?q?=EB=84=A4=ED=8A=B8=EC=9B=8C=ED=81=AC=EC=97=B0?= =?UTF-8?q?=EA=B3=84=EC=9C=A0=ED=8B=B8=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cd/kamcoback/common/utils/NetUtils.java | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 src/main/java/com/kamco/cd/kamcoback/common/utils/NetUtils.java diff --git a/src/main/java/com/kamco/cd/kamcoback/common/utils/NetUtils.java b/src/main/java/com/kamco/cd/kamcoback/common/utils/NetUtils.java new file mode 100644 index 00000000..3426057e --- /dev/null +++ b/src/main/java/com/kamco/cd/kamcoback/common/utils/NetUtils.java @@ -0,0 +1,64 @@ +package com.kamco.cd.kamcoback.common.utils; + +import com.fasterxml.jackson.databind.ObjectMapper; +import java.net.InetAddress; +import java.net.URLEncoder; +import java.net.UnknownHostException; +import java.nio.charset.StandardCharsets; +import java.util.List; +import java.util.Map; +import java.util.regex.Pattern; +import java.util.stream.Collectors; +import org.mindrot.jbcrypt.BCrypt; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; + +public class NetUtils { + + public String getLocalIP(){ + + String ip; + { + try { + InetAddress local = InetAddress.getLocalHost(); + ip = local.getHostAddress(); + } catch (UnknownHostException e) { + throw new RuntimeException(e); + } + } + + return ip; + } + + + public String dtoToQueryString(Object dto, String queryString) { + ObjectMapper objectMapper = new ObjectMapper(); + // 1. DTO를 Map으로 변환 + Map map = objectMapper.convertValue(dto, Map.class); + + String qStr = map.entrySet().stream() + .filter(entry -> entry.getValue() != null) // null 제외 + .map(entry -> String.format("%s=%s", + entry.getKey(), + URLEncoder.encode(entry.getValue().toString(), StandardCharsets.UTF_8))) + .collect(Collectors.joining("&")); + + if( queryString == null || queryString.isEmpty() ) { + queryString = "?"+qStr; + }else{ + queryString = queryString +"&" + qStr; + } + + // 2. Map을 쿼리 스트링 문자열로 변환 + return queryString; + } + + public HttpHeaders jsonHeaders() { + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + headers.setAccept(List.of(MediaType.APPLICATION_JSON)); + + return headers; + } + +}