Swagger๋?
๐ Swagger์ ๋ํ์ฌ
๐ฝ ๊ฐ์
Swagger(์ค์จ๊ฑฐ)๋ ๊ฐ๋ฐ์๊ฐ `REST` Web Service๋ฅผ ์ค๊ณ, Build, ๋ฌธ์ํ, ์๋นํ๋ ์ผ์ ๋์์ฃผ๋ ๋ํ ๋๊ตฌ ์ํ๊ณ์ ์ง์์ ๋ฐ๋ Open Source Framework์ธ ๊ฒ์ด์์. ๋๋ถ๋ถ์ ์ด์ฉ์๋ค์ Swagger UI ๋๊ตฌ๋ฅผ ํตํด Sagger๋ฅผ ์๋ณํ๋ฉฐ, Sagger Tool Set์๋ ์๋ํ๋ ๋ฌธ์ํ, Code ์์ฑ, Test Case ์์ฑ ์ง์์ด ํฌํจ๋๋ ๊ฒ์ด์์.
Swagger๋ฅผ ์ด์ฉํ๊ฒ ๋๋ฉด API ๋ฌธ์๋ฅผ ๊ฐ๋ฐ์๊ฐ ๋ฐ๋ก ์์ฑํ ํ์์์ด Code๋ง ์์ฑํด ์ฃผ๋ฉด ์์์ Web Page๋ฅผ ๋ง๋ค์ด ๋ฌธ์๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋๊ตฌ์ธ ๊ฒ์ด์์.
๐ฝ Swagger(API ๋ฌธ์) ํ์ฉ๋ฒ
Swagger๋ฅผ ์ด์ฉํด์ API ๋ฌธ์๋ฅผ ๋ง๋ค๋ฉด ์์ ๊ฐ์ด ๋ด๊ฐ ์ค์ ํ ๋ด์ฉ์ ๋ํด ํ์ธํ ์๊ฐ ์์ต๋๋ค.
`signup`์ ๋ํ ๋ด์ฉ์ ํ๋ฒ ์ดํด๋ณผ๊ฒ์.
๋จผ์ ํด๋น API HTTP Method๋ `post`์ธ ๊ฒ์ด ๋ณด์ด๊ณ , URL์ /signup์ผ๋ก ์ ๊ทผํด์ผ ํ๋ ๊ฑธ ์ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ , ๋งค๊ฐ๋ณ์๋ 3๊ฐ์ง๋ฅผ ๋ฐ๊ฒ ๋๋๋ฐ, ์ด์ฉ์์ ID, ๋น๋ฐ๋ฒํธ, ๋๋ค์์ ๋ฐ๋๋ก ์ฒ๋ฆฌ๊ฐ ๋์ด ์๋ค์.
์ฐธ๊ณ ๋ก ๋นจ๊ฐ์์ผ๋ก `required`๋ผ๊ณ ๋์ด ์๋ค๋ฉด ํ์ ์ ๋ ฅ๊ฐ์ด๋ผ๋ ๊ฒ์ด์์.
์ด ๋ถ๋ถ์ API ๊ฐ๋ฐ์๊ฐ HTTP Response Code์ ๋ํด ์ ๋ฆฌ๋ฅผ ํด ๋๊ณ , ์ด๊ฒ์ ํ์ธํ๋ฉด์ FrontEnd ๊ฐ๋ฐ์๊ฐ ํ์ธํ ์ ์๋๋ก ํ ์ ์๋ ๊ฒ์ด์์.