RESTful API๐ก: URL์ ๋ค์ด๊ฐ๋ ํ๋ผ๋ฏธํฐ ๋ค์ด๋ฐ
์ฅ๊ณ ๋ก URL query string์ ๋ง๋๋๋ฐ..
query string์ ๋ค์ด๊ฐ๋ ํ๋ผ๋ฏธํฐ์ ๋ค์ด๋ฐ
ํ์ด์ฌ์์ ํจ์/๋ณ์๊ฐ ๋๊ฐ์ ๋จ์ด๋ก ์ด๋ฃจ์ด์ง๋ ๊ฒฝ์ฐ
์๋์ ๊ฐ์ด, ์ค๋ค์ดํฌ๋ ๋ค์ด๋ฐ ๋ฃฐ์ ๋ฐ๋ฅธ๋ค
์) data_kind
๊ทธ๋ ๋ค๋ฉด ์ฟผ๋ฆฌ ์คํธ๋ง ํ๋ผ๋ฏธํฐ ๋ค์ด๋ฐ์ ์ด๋ป๊ฒ?
์ด ๊ถ๊ธ์ฆ ํด๊ฒฐํ๋ฌ ์ฑ
์ฝ์ผ๋ฌ ๊ฐ๋๋น
API ๋์์ธ๐งโโ๏ธ: REST API Design Rulebook
camalCase๋ฅผ ์ฐ๋ผ๊ณ ์ ์
"REST API Design Rulebook"(2011๋
์ถ๊ฐ)์์๋ camalCase๋ฅผ ์ฐ๋ผ๊ณ ๋ช
์์ ์ผ๋ก ์ธ๊ธํ ๋ฌธ์ฅ์ ์์ง๋ง,
query string ์์ ์์ camalCase๋ฅผ ์ฌ์ฉํ๊ณ ์์!
๊ฐ์ ์ ์ผ๋ก camalCase๋ฅผ ์ฐ๋ ๊ฒ์ ์ ์ํ๋ค๊ณ ๋๊ปด์ง!
2011๋
์ถ๊ฐ๋ ์ฑ
์ด๊ณ , ์ฐธ๊ณ ํ๋ ์๋ฃ ์ค ํ๋์ด๋๊น
๊ผญ camalCase๋ฅผ ์จ์ผํ๋ค๋ ๊ฒ์ ์๋๋ง ์ผ๋จ์ ์ฑ
์์ ๊ทธ๋ ๋ค!
๊ทธ๋ ๋ค๋ฉด ๊ตฌ๊ธ์..?
๊ตฌ๊ธ์ ์ฟผ๋ฆฌ์คํธ๋ง ์ด์ฐ์ฐ๋๊ฐ?
https://www.google.com/search?rlz=1C1SQJL_enKR899KR899&biw=1920&bih=937&sxsrf=ALeKk02PAFWe8vSynzK5OZypu0G3v9nn2A%3A1604017511652&ei=Z12bX_-2J4nZhwPn95yoDw&q=query+parameters+camelcase+google&oq=query+parameters+camelcase+google&gs_lcp=CgZwc3ktYWIQAzIHCCEQChCgATIHCCEQChCgATIHCCEQChCgAToECAAQRzoFCAAQyQM6BggAEBYQHjoICCEQFhAdEB46BQghEKABUM3cIFiX5SBg_uUgaABwAngAgAGyAYgBqAeSAQMwLjaYAQCgAQGqAQdnd3Mtd2l6yAEIwAEB&sclient=psy-ab&ved=0ahUKEwi_hvvvhtvsAhWJ7GEKHec7B_U4ChDh1QMIDQ&uact=5
์์ ์ฟผ๋ฆฌ์คํธ๋ง์ ์ ์ดํด๋ณด๋ฉด
"gs_lcp"๋ผ๋ ์ฟผ๋ฆฌ์คํธ๋ง ํ๋ผ๋ฏธํฐ ํ์ธ๊ฐ๋ฅ!
๊ตฌ๊ธ์ ์ฟผ๋ฆฌ์คํธ๋ง ํ๋ผ๋ฏธํฐ๋ฅผ ์ค๋ค์ดํฌ๋๋ก ์ฐ๋ ๊ตฐ!
๊ตฌ๊ธSEO๋ฅผ ์ํด์๋ URL์๋ ์ธ๋๋ง๊ณ ํ์ดํ
์ฐ์ธ์!
https://www.i-am-the-server.com/data?kind='weather'
๊ตฌ๊ธ ๊ฒ์์์ง์ด ์ธ๋๋ฐ๋ก ๊ตฌ๋ถ๋ ๊ฒฝ์ฐ๋ ํ๋์ ๋จ์ด๋ก ์ธ์!
๋ฐ๋ฉด์,
ํ์ดํ์ผ๋ก ๊ตฌ๋ถ๋ ๋จ์ด๋ ๋จ์ด์์ฒด๋ก ๊ตฌ๋ถํ๋ค๊ณ ํ๋ค!
๊ฒฐ๋ก ?!
ํ๋ผ๋ฏธํฐ ๋ค์ด๋ฐ์ ์ผ๋ฉ๋ก ์ฐ๋ ๊ฒ์ด ๋น๊ณต์์ ? ํ์ค์ธ ๊ฒ ๊ฐ์ผ๋(REST API๋ฃฐ๋ถ ์ฑ
์์)
๋ฐฑ์๋์ ์ธ์ด์ ๋ฐ๋ผ์ ์ฝ๋์์ฑ์ ์ฉ์ดํ๊ธฐ ์ํด์ ํธ์ด์ ๋ฐฑ์๋ ์ธ์ด์ ๋ค์ด๋ฐ ๋ฃฐ์ ๋ฐ๋ผ๊ฐ๋ ๊ฒ ๊ฐ์!
์ฅ๊ณ ๋ snaked_case
https://i-am-the-server.com/price?product_id=111
- ๋ฐฑ์๋์์ ์์ ๊ฐ์ api๋ฅผ ํธ์ถ๋ฐ์ผ๋ฉด
- get http request์์ "product_id"๊ฐ์ ธ์์ ๊ฐ์ ํ์ธํ๊ณ
- database์์ product id๊ฐ 111์ธ ์ ํ์ response http๋ก ๋๋ ค์ค๋ค.
get htttp request์์ ๋ณ์?๋ฅผ ๊ฐ์ ธ์ฌ๋
๋ฐฑ์๋์ ๋ค์ด๋ฐ๋ฃฐ๊ณผ ๋ง์ถ๋ฉด ํธํ๊ธฐ์ ๊ทธ๋ ๊ฒ ๋ณดํต์ฐ๋ ๊ฒ ๊ฐ๋ค
Reference
- URL์์๋ ์ธ๋๋ฐ(์ธ๋์ค์ฝ์ด: _)๊ฐ ๋์๊น ๋์ฌ(-)๊ฐ ๋์๊น?
- URI์์ ๋จ์ด ๊ตฌ๋ถ ๊ธฐํธ๋ก ํ์ดํ, ๋ฐ์ค ๋๋ ๋ํ ์ผ์ด์ค?
- http://www.yes24.com/Product/Goods/5832875?OzSrank=1
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(RESTful API๐ก: URL์ ๋ค์ด๊ฐ๋ ํ๋ผ๋ฏธํฐ ๋ค์ด๋ฐ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@muchogusto/RESTful-API-URL์-๋ค์ด๊ฐ๋-ํ๋ผ๋ฏธํฐ-๋ค์ด๋ฐ์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค