03
29

๊ณต๊ณต๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๋Š” ๊ณผ์ •์—์„œ ์š”์ƒํ•œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ๋‹ค.

 

encode key๊ฐ€ ์š”์ฒญ์ค‘์— ๋ณ€ํ•˜๋Š” ๋ฌธ์ œ๋‹ค. ASCIIํ‘œ๋ฅผ ๋ณด๋‹ˆ %๊ฐ€ 25๋กœ ์ ํ˜€์„œ ์ค‘๊ฐ„์ค‘๊ฐ„์— ์‚ฝ์ž…๋˜์–ด ์žˆ์—ˆ๋Š”๋ฐ ์ด ๋ฌธ์ œ๋Š” %๋ฅผ string์œผ๋กœ ๋ฐ”๊ฟ€๋•Œ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ๋กœ encoding ํ˜•์‹์ด ๋‹ฌ๋ผ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๋ฌธ์ œ๋Š” ์•„๋ž˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด

API ๊ฐ’์„ ์ œ๋Œ€๋กœ ๋ชป๊ฐ€์ ธ์˜ค๋Š” ํ˜„์ƒ์„ ์ผ์œผํ‚จ๋‹ค. ๋‹น์—ฐํžˆ ํ‚ค๊ฐ’์„ ์ œ๋Œ€๋กœ ๋„ฃ์œผ๋ฉด ์ถœ๋ ฅ์ด ์ž˜ ๋˜๊ธฐ์— ๋‹ต๋ณ€์€ ํ‚ค๊ฐ’์— ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค๋Š” ๋‚ด์šฉ๋งŒ ๋‚˜์˜จ๋‹ค.

 

๋ฌธ์ œ์ 

 

HTTP์˜ GET ๋˜๋Š” POST ์ „์†ก์ด ๋ฐœ์ƒํ•  ๋•Œ form ํ•„๋“œ์˜ ์ด๋ฆ„๊ณผ ๊ฐ’์€ ์ธ์ฝ”๋”ฉ ๋˜์–ด ์„œ๋ฒ„๋กœ ๋ณด๋‚ด์ง„๋‹ค. ๋‚˜์˜ ๊ฒฝ์šฐ์—๋Š” retrofit ์˜ @Query annotation์— ์žˆ๋Š” ๊ฑธ๋กœ ์š”์ฒญํ•˜๊ฒŒ ๋œ๋‹ค.

 

์ด ๊ณผ์ •์—์„œ ๊ธฐ๋ณธ์ ์ธ URI ์ธ์ฝ”๋”ฉ์€ ์˜›๋‚  ๋ฐฉ์‹์˜ ํผ์„ผํŠธ ์ธ์ฝ”๋”ฉ(Url encoding) ๊ทœ์น™์„ ๋”ฐ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— %๊ฐ€ 25๋กœ ๋ฐ”๋€Œ๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

interface OpenDataInfo {
    @GET("/B552584/EvCharger/getChargerInfo?")
    fun getResult(
        @Query("serviceKey") serviceKey : String,
        @Query("pageNo") pageNo: String,
        @Query("numOfRows") numOfRows: String,
        @Query("zcode") zcode: String,
    ):Call<MapInfoData?>
}
val key = decode(BuildConfig.api_key_encode, "UTF-8")

๊ฐ์ฒด ์ƒ์„ฑ์‹œ ํ‚ค๊ฐ’์„ ์ฟผ๋ฆฌ์— ๋„ฃ์–ด์ค€๋‹ค. UTF-8์„ ์•ˆ๋„ฃ์–ด๋„ ์ž˜ ์ž‘๋™ํ•˜๊ธด ํ•˜์ง€๋งŒ deprecated๋œ ๋ฉ”์„œ๋“œ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๊ฒŒ ์ข‹๋‹ค.

 

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์›๋ž˜ํ˜•ํƒœ๋กœ ์ž˜ ์ž…๋ ฅ๋œ๋‹ค.

 

์ถ”๊ฐ€๋กœ API Key์ด๋ฏ€๋กœ local.properties์— ์ €์žฅํ•ด์„œ ์“ฐ๋Š”๊ฒŒ ์•ˆ์ „ํ•˜๋‹ค๊ณ  ํ•ด์„œ ์ด๋Ÿฐ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด๋ดค๋‹ค.

 

https://developers.google.com/maps/url-encoding?hl=ko 

 

URL ์ธ์ฝ”๋”ฉ  |  Google Maps Platform  |  Google Developers

์˜๊ฒฌ ๋ณด๋‚ด๊ธฐ URL ์ธ์ฝ”๋”ฉ ๊ณต๋ฐฑ ๋“ฑ์˜ ์ผ๋ถ€ ๋ฌธ์ž๋Š” URL์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์ง€๋งŒ URL์—์„œ ํŠน๋ณ„ํ•œ ์˜๋ฏธ๋ฅผ ๊ฐ–๋Š” ๋ฌธ์ž๋„ ์žˆ์Šต๋‹ˆ๋‹ค. HTML ์–‘์‹์—์„œ = ๋ฌธ์ž๋Š” ์ด๋ฆ„๊ณผ ๊ฐ’์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. URI ์ผ๋ฐ˜ ๊ตฌ๋ฌธ์€

developers.google.com

https://en.wikipedia.org/wiki/Percent-encoding

 

Percent-encoding - Wikipedia

From Wikipedia, the free encyclopedia Jump to navigation Jump to search Method of encoding characters in a URI Percent-encoding, also known as URL encoding, is a method to encode arbitrary data in a Uniform Resource Identifier (URI) using only the limited

en.wikipedia.org

 

 

๋„์›€์ด ๋๋‹ค๋ฉด ๋Œ“๊ธ€์ด๋‚˜ ๊ณต๊ฐ ๋ฒ„ํŠผ ํ•œ ๋ฒˆ์”ฉ ๋ˆ„๋ฅด๊ณ  ๊ฐ€์ฃผ์„ธ์š”! ๋กœ๊ทธ์ธ ์•ˆํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค ^_^

 

๋ฐ˜์‘ํ˜•
COMMENT