투케이2K

129. (kotlin/코틀린) [유틸 파일] mapToUrlEncodeQueryString : Map 데이터를 http 요청 쿼리 스트링 형태 문자열로 리턴 실시 본문

Kotlin

129. (kotlin/코틀린) [유틸 파일] mapToUrlEncodeQueryString : Map 데이터를 http 요청 쿼리 스트링 형태 문자열로 리턴 실시

투케이2K 2022. 12. 25. 20:14

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

        fun mapToUrlEncodeQueryString(inputData: Map<String, Any>): String {
            /**
             * // -----------------------------------------
             * [mapToUrlEncodeQueryString 메소드 설명]
             * // -----------------------------------------
             * 1. Map 데이터를 http 요청 쿼리 스트링 형태 문자열로 리턴 실시
             * // -----------------------------------------
             * 2. 호출 방식 :
             *
             * var map = HashMap<String, Any>()
             * map.put("name", "투케이")
             * map.put("age", 29)
             *
             * C_Util.mapToUrlEncodeQueryString(map)
             *
             * // -----------------------------------------
             * 3. 리턴 데이터 :
             * name=%ED%88%AC%EC%BC%80%EC%9D%B4&age=29
             * // -----------------------------------------
             */


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


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

                // [사전 인풋 데이터 널 체크 실시]
                if (C_Util.mapNotNull(inputData)) { // [널이 아닌 경우]

                    // [map 데이터 key, value 확인]
                    val set: Set<*> = inputData.keys
                    val iterator = set.iterator()
                    while (iterator.hasNext()) {
                        if (returnData.length > 0) {
                            returnData += "&"
                        }
                        val key = iterator.next() as String
                        val value = inputData[key].toString()

                        // [리턴 변수에 순차적으로 삽입 실시]
                        returnData += URLEncoder.encode(key, "UTF-8")
                        returnData += "="
                        returnData += URLEncoder.encode(value, "UTF-8")
                    }
                }
            } catch (e: Exception) {
                e.printStackTrace()
            }


            // [로그 출력]
            ///*
            Log.i("---","---")
            Log.d("//===========//","================================================")
            Log.i("","\n"+"[C_Util >> mapToUrlEncodeQueryString() :: Map 데이터를 http 요청 쿼리 스트링 형태 문자열로 리턴 실시]")
            Log.i("","\n"+"-----------------------------------------")
            Log.i("","\n"+"[INPUT :: "+inputData.toString()+"]")
            Log.i("","\n"+"-----------------------------------------")
            Log.i("","\n"+"[RETURN :: "+returnData.toString()+"]")
            Log.d("//===========//","================================================")
            Log.i("---","---")
            // */


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

[결과 출력]

 

 

반응형
Comments