투케이2K

59. (spring/스프링) [유틸 파일] - http get, post 쿼리 파람 데이터 요청 포맷 String 리턴 실시프로파일 투케이2K ・ 방금 전 본문

Spring

59. (spring/스프링) [유틸 파일] - http get, post 쿼리 파람 데이터 요청 포맷 String 리턴 실시프로파일 투케이2K ・ 방금 전

투케이2K 2022. 6. 29. 22:40
반응형

[개발 환경 설정]

개발 툴 : inteli j

개발 언어 : spring

 

[소스 코드]

    // TODO [http get, post 쿼리 파람 데이터 요청 포맷 String 리턴 실시]
    public static String queryStringUrlEncode (String url, Map<String, Object> params) {

        /**
         * // -----------------------------------------
         * [queryStringUrlEncode 메소드 설명]
         * // -----------------------------------------
         * 1. http get, post 쿼리 파람 데이터 요청 포맷 String 리턴 실시
         * // -----------------------------------------
         * 2. 호출 방식 :
         *
         * String url = "http://jsonplaceholder.typicode.com/posts";
         *
         * Map<String, Object> map = new HashMap<>();
         * map.put("userId", 1);
         * map.put("id", 1);
         *
         * C_Util.queryStringUrlEncode(url, map);
         * // -----------------------------------------
         * 3. 리턴 데이터 :
         * http://jsonplaceholder.typicode.com/posts?id=1&userId=1
         * // -----------------------------------------
         * */

        // [리턴 데이터 선언 실시]
        String returnData = "";


        // [로직 처리 수행 실시]
        try {

            // [사전 인풋 데이터 널 체크 실시]
            if (url != null
                    && url.isEmpty() == false
                    && url.length()>0
                    && url.trim().equals("") == false
                    && url.trim().equals("undefined") == false
                    && url.trim().equals("null") == false

                    && params != null
                    && params.isEmpty() == false
                    && params.size()>0){ // [널이 아닌 경우]

                // [쿼리 파라미터 형식 주소 설정 실시]
                returnData = url.trim();
                if(returnData.endsWith("?") == true){
                }
                else{
                    returnData = returnData + "?";
                }

                // [파라미터 map 데이터 key, value 확인]
                String paramData = "";
                Set set = params.keySet();
                Iterator iterator = set.iterator();
                while(iterator.hasNext()){
                    if (paramData.length()>0){
                        paramData += "&";
                    }
                    String key = (String) iterator.next();
                    String value = String.valueOf(params.get(key));

                    // [리턴 변수에 순차적으로 삽입 실시]
                    paramData += URLEncoder.encode(key, "UTF-8");
                    paramData += "=";
                    paramData += URLEncoder.encode(value, "UTF-8");
                }

                // [최종 리턴 데이터 삽입]
                returnData = returnData + paramData;
            }
        }
        catch (Exception e){
            e.printStackTrace();
        }


        // [로그 출력]
        ///*
        System.out.println("\n");
        System.out.println("================================================");
        System.out.println("[CLASS] : "+String.valueOf(CLASS_NAME));
        System.out.println("[METHOD] : "+String.valueOf("queryStringUrlEncode"));
        System.out.println("[INPUT] : [URL] : "+String.valueOf(url));
        System.out.println("[INPUT] : [param] : "+String.valueOf(params));
        System.out.println("[RETURN] : "+String.valueOf(returnData));
        System.out.println("================================================");
        System.out.println("\n");
        // */


        // [리턴 데이터 반환 실시]
        return returnData;
    }
 

[결과 출력]

 

반응형
Comments