๊ณผ์ ๋ช
1. ์ ์ฒด API ์ฃผ์ ์ค๊ณ
2. Mock API Controller ๊ตฌํ
2. Mock API Controller ๊ตฌํ
๊ณผ์ ์ค๋ช
1. API์ฃผ์๋ฅผ ์ค๊ณํ์ฌ README์ ๋ด์ฉ์ ์์ฑํ์์ค.
2. ๊ฐ์ง ๋ฐ์ดํฐ๋ฅผ ์ค๊ณํ์ฌ ์๋ตํ๋ ์คํ๋ง๋ถํธ ์ปจํธ๋กค๋ฌ๋ฅผ ์์ฑํ๊ณ ์์ค์ฝ๋๋ฅผ ์ ๋ก๋ํ์์ค.
2. ๊ฐ์ง ๋ฐ์ดํฐ๋ฅผ ์ค๊ณํ์ฌ ์๋ตํ๋ ์คํ๋ง๋ถํธ ์ปจํธ๋กค๋ฌ๋ฅผ ์์ฑํ๊ณ ์์ค์ฝ๋๋ฅผ ์ ๋ก๋ํ์์ค.
๊ณผ์ ์์ธ : ๊ณผ์ ๋ฅผ ์งํํ ๋, ์ ๋ ํด์ผํ ๊ฒ
- ์ ์ฒด API ์ฃผ์ ์ค๊ณ๊ฐ RestAPI ๋ง๊ฒ ์ค๊ณ๋์๋๊ฐ? (์๋ฅผ ๋ค์ด ๋ฐฐํฌ๋ ์๋ฒ๋ POST์ GET์ผ๋ก๋ง ๊ตฌํ๋์๋๋ฐ, ํ์๋ค์ PUT๊ณผ DELETE๋ ๋ฐฐ์ธ ์์ ์ด๋ผ ์ด๋ถ๋ถ์ด ๋ฐ์๋์๊ณ , ์ฃผ์๊ฐ RestAPI์ ๋ง๊ฒ ์ค๊ณ๋์๋์ง)
- ๊ฐ์ง ๋ฐ์ดํฐ๋ฅผ ์ค๊ณํ์ฌ Mock API๋ฅผ ์ ๊ตฌํํ์๋๊ฐ? (์๋ฅผ ๋ค์ด DB์ฐ๊ฒฐ์์ด ์ปจํธ๋กค๋ฌ๋ง ๋ง๋ค์ด์ ๋ฐฐํฌ๋ ์๋ฒ์ ์๋ต๊ณผ ๋์ผํ ํํ๋ก ๋ฐ์ดํฐ๊ฐ ์๋ต๋๋์ง ์ฌ๋ถ)
1. ์ ์ฒด API ์ฃผ์ ์ค๊ณ
01) API ์ฃผ์๋ฅผ ์ค๊ณํ์ฌ README์ ๋ด์ฉ์ ์์ฑํ์์ค
์ ์ ์ฌํญ : ์ฃผ์๊ฐ RestAPI์ ๋ง๊ฒ ์ค๊ณํ ๊ฒ
๐ Restful API ์ค๊ณ ์์
1. URI๋ ๋์ฌ๋ณด๋ค๋ ๋ช ์ฌ๋ฅผ, ๋๋ฌธ์๋ณด๋ค๋ ์๋ฌธ์๋ฅผ ์ฌ์ฉํ์ฌ์ผ ํ๋ค.
Bad Example http://khj93.com/Running/
Good Example http://khj93.com/run/
2. ๋ง์ง๋ง์ ์ฌ๋์ (/)๋ฅผ ํฌํจํ์ง ์๋๋ค.
Bad Example http://khj93.com/test/
Good Example http://khj93.com/test
3. ์ธ๋๋ฐ ๋์ ํ์ดํฐ์ ์ฌ์ฉํ๋ค.
Bad Example http://khj93.com/test_blog
Good Example http://khj93.com/test-blog
4. ํ์ผํ์ฅ์๋ URI์ ํฌํจํ์ง ์๋๋ค.
Bad Example http://khj93.com/photo.jpg
Good Example http://khj93.com/photo
5. ํ์๋ฅผ ํฌํจํ์ง ์๋๋ค.
Bad Example http://khj93.com/delete-post/1
Good Example http://khj93.com/post/1
(์ถํ Rest API์ ๋ํด ์ ๋ฆฌํด ์ฌ๋ ค์ผ ํ ๊ฒ ๊ฐ๋ค. ๋ชจ๋ฅด๋ ๊ฒ ๋๋ฌด ๋ง๋ค ....)
1. User
1. ๋ก๊ทธ์ธ / ๋ก๊ทธ์์
- POST
- http://localhost:8080/login
- Request Body ⇒ { "email":"ssar@nate.com", "password":"meta1234!" }
2. ํ์๊ฐ์ - ์ด๋ฉ์ผ ์ค๋ณต์ฒดํฌ
- POST
- http://localhost:8080/duplicate-check
- Request Body ⇒ { "email":"ssarnate.com" }
check > duplicate-check๋ก ๋ณ๊ฒฝํ์๋๋ฐ, ์ด ๋์ check๋ 'ํ์'์ธ ๊ฒ ๊ฐ์๋ฐ ์ฌ์ฉํด๋ ๊ด์ฐฎ์ ๊ฒ์ผ๊น ?
3. ํ์๊ฐ์
- POST
- http://localhost:8080/join
- Request Body ⇒ { "username":"mata", "email":"meta@nate.com", "password":"meta1234!" }
* login๊ณผ join์ ๊ฒฝ์ฐ ๊ด์ต์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋จ์ด์ด๊ณ Restful API์ ์๋ฒฝํ ๋ถํฉํ์ง๋ ์์ง๋ง,
์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ(๋ค๋ฅธ ์ธ์ด๋ก ๋์ฒด, ๊ด๋ จ์ฑ ๊ฐ์)๋ณด๋ค ์ฌ์ฉํ๋ ๊ฒฝ์ฐ(์ดํด๊ฐ ์ฌ์)์ ์ด๋์ด ๋ ํฌ๊ธฐ ๋๋ฌธ์ ์์ ํ์ง ์์๋ค.
2. Product
1. ์ ์ฒด ์ํ ๋ชฉ๋ก ์กฐํ
- GET
- http://localhost:8080/products
2. ๊ฐ๋ณ ์ํ ์์ธ ์กฐํ
- GET
- http://localhost:8080/products/id
์ด๋์ id๋ Product table์ PK id๋ฅผ ๋ปํ๋ค.
3. Cart
1. ์ฅ๋ฐ๊ตฌ๋ ์กฐํ
- GET
- http://localhost:8080/carts
- Request Header
- ⇒ Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJzc2FyQG5hdGUuY29tIiwicm9sZSI6Il JPTEVfVVNFUiIsImlkIjoxLCJleHAiOjE2ODcwNTM5MzV9.fXlD0NZQXYYfPHV8rokRJTM86nhS869L Z1KIGi7_qvPOcVbXgvyZLKvnlLxomIiS3YFnQRLzXAJ2G41yI_AmGg
2. ์ฅ๋ฐ๊ตฌ๋ ๋ด๊ธฐ
- POST
- http://localhost:8080/carts
- Request Header
- ⇒ Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJzc2FyQG5hdGUuY29tIiwicm9sZSI6Il JPTEVfVVNFUiIsImlkIjoxLCJleHAiOjE2ODcwNTM5MzV9.fXlD0NZQXYYfPHV8rokRJTM86nhS869L Z1KIGi7_qvPOcVbXgvyZLKvnlLxomIiS3YFnQRLzXAJ2G41yI_AmGg
- Request Body ⇒ [ { "optionId":1, "quantity":5 }, { "optionId":2, "quantity":5 } ]
carts/add x : (์ค๊ณ์์น 5) ํ์๋ฅผ ํฌํจํ์ง ์๋๋ค.
3. ์ฃผ๋ฌธํ๊ธฐ - ์ฅ๋ฐ๊ตฌ๋ ์์
- PUT
- http://localhost:8080/carts
- Request Header ⇒ Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJzc2FyQG5hdGUuY29tIiwicm9sZSI6Il JPTEVfVVNFUiIsImlkIjoxLCJleHAiOjE2ODcwNTM5MzV9.fXlD0NZQXYYfPHV8rokRJTM86nhS869L Z1KIGi7_qvPOcVbXgvyZLKvnlLxomIiS3YFnQRLzXAJ2G41yI_AmGg
- Request Body ⇒ [ { "cartId":4, "quantity":10 }, { "cartId":5, "quantity":10 } ]
POST > PUT : ์์ ์ ๋ํ ๋ด์ฉ์ด๋ฏ๋ก, PUT ์ฌ์ฉ
update x : (์ค๊ณ์์น 5) ํ์๋ฅผ ํฌํจํ์ง ์๋๋ค.
4. Order
1. ์ฃผ๋ฌธ insert
- POST
- http://localhost:8080/orders
- Request Header ⇒ Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJzc2FyQG5hdGUuY29tIiwicm9sZSI6Il JPTEVfVVNFUiIsImlkIjoxLCJleHAiOjE2ODcwNTM5MzV9.fXlD0NZQXYYfPHV8rokRJTM86nhS869L Z1KIGi7_qvPOcVbXgvyZLKvnlLxomIiS3YFnQRLzXAJ2G41yI_AmGg
save x : (์ค๊ณ์์น 5) ํ์๋ฅผ ํฌํจํ์ง ์๋๋ค.
2. ์ฃผ๋ฌธ ์๋ฃ
- GET
- http://localhost:8080/orders/id
- Request Header ⇒ Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJzc2FyQG5hdGUuY29tIiwicm9sZSI6Il JPTEVfVVNFUiIsImlkIjoxLCJleHAiOjE2ODcwNTM5MzV9.fXlD0NZQXYYfPHV8rokRJTM86nhS869L Z1KIGi7_qvPOcVbXgvyZLKvnlLxomIiS3YFnQRLzXAJ2G41yI_AmGg
'๐ช kakaotech campus' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์นดํ ์ผ | [STEP2 clone coding] 3์ฃผ์ฐจ ๊ณผ์ (0) | 2023.07.14 |
---|---|
์นดํ ์ผ | [STEP2 clone coding] 2์ฃผ์ฐจ ๊ณผ์ - (2) (0) | 2023.07.07 |
์นดํ ์ผ | [STEP2 clone coding] 1์ฃผ์ฐจ ๊ณผ์ - (3) (0) | 2023.06.30 |
์นดํ ์ผ | [STEP2 clone coding] 1์ฃผ์ฐจ ๊ณผ์ - (2) (0) | 2023.06.29 |
์นดํ ์ผ | [STEP2 clone coding] 1์ฃผ์ฐจ ๊ณผ์ - (1) (0) | 2023.06.28 |