Notice
Recent Posts
Recent Comments
Link
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Tags
- ์์ฒญ
- ๊น์ํ
- ์ฑ๊ฐ๋ฐ
- JPA
- Logging
- Firebase
- Spring
- springboot
- HTTP
- MVC
- Security
- BPM
- log
- MySQL
- PROJECT
- API
- Mapping
- docker
- Community-App
- kotlin
- BBangting
- Inflearn
Archives
- Today
- Total
yeon's blog
[HTTP ์น ๊ธฐ๋ณธ ์ง์] HTTP ๋ฉ์๋ ํ์ฉ - HTTP API ์ค๊ณ ์์ ๋ณธ๋ฌธ
HTTP
[HTTP ์น ๊ธฐ๋ณธ ์ง์] HTTP ๋ฉ์๋ ํ์ฉ - HTTP API ์ค๊ณ ์์
yeonii 2023. 12. 3. 18:39๐ฑ HTTP API ์ค๊ณ ์์
API ์ค๊ณ - POST ๊ธฐ๋ฐ ๋ฑ๋ก
๐ ํ์ ๊ด๋ฆฌ ์์คํ
1. ํ์ ๋ชฉ๋ก: /members โก๏ธ GET
2. ํ์ ๋ฑ๋ก: /members โก๏ธ POST
3. ํ์ ์กฐํ: /members/{id} โก๏ธ GET
4. ํ์ ์์ : /members/{id} โก๏ธ PATCH, PUT, POST
5. ํ์ ์ญ์ : /members/{id} โก๏ธ DELETE
์ ๊ท ์์ ๋ฑ๋ก ํน์ง
- ํด๋ผ์ด์ธํธ๋ ๋ฑ๋ก๋ ๋ฆฌ์์ค์ URI๋ฅผ ๋ชจ๋ฅธ๋ค.
- ํ์ ๋ฑ๋ก /members → POST
- POST /members
- ์๋ฒ๊ฐ ์๋ก ๋ฑ๋ก๋ ๋ฆฌ์์ค URI๋ฅผ ์์ฑํด์ค๋ค.
- HTTP/1.1 201 Created
- Location: /member/100
- ์ปฌ๋ ์
(Collection)
- ์๋ฒ๊ฐ ๊ด๋ฆฌํ๋ ๋ฆฌ์์ค ๋๋ ํ ๋ฆฌ
- ์๋ฒ๊ฐ ๋ฆฌ์์ค์ URI๋ฅผ ์์ฑํ๊ณ ๊ด๋ฆฌ
- ์ฌ๊ธฐ์ ์ปฌ๋ ์ ์ /members
API ์ค๊ณ - PUT ๊ธฐ๋ฐ ๋ฑ๋ก
๐ ํ์ผ ๊ด๋ฆฌ ์์คํ
1. ํ์ผ ๋ชฉ๋ก: /files โก๏ธ GET
2. ํ์ผ ์กฐํ: /files/{filename} โก๏ธ GET
3. ํ์ผ ๋ฑ๋ก: /files/{filename} โก๏ธ PUT
4. ํ์ผ ์ญ์ : /files/{filename} โก๏ธ DELETE
5. ํ์ผ ๋๋ ๋ฑ๋ก: /files โก๏ธ POST
์ ๊ท ์์ ๋ฑ๋ก ํน์ง
- ํด๋ผ์ด์ธํธ๊ฐ ๋ฆฌ์์ค URI๋ฅผ ์๊ณ ์์ด์ผ ํ๋ค.
- ํ์ผ ๋ฑ๋ก /files/{filename} → PUT
- PUT /files/star.jpg
- ํด๋ผ์ด์ธํธ๊ฐ ์ง์ ๋ฆฌ์์ค์ URI๋ฅผ ์ง์ ํ๋ค.
- ์คํ ์ด(Store)
- ํด๋ผ์ด์ธํธ๊ฐ ๊ด๋ฆฌํ๋ ๋ฆฌ์์ค ์ ์ฅ์
- ํด๋ผ์ด์ธํธ๊ฐ ๋ฆฌ์์ค์ URI๋ฅผ ์๊ณ ๊ด๋ฆฌ
- ์ฌ๊ธฐ์ ์คํ ์ด๋ /files
HTML Form ์ฌ์ฉ
๐ ํ์ ๊ด๋ฆฌ ์์คํ
1. ํ์ ๋ชฉ๋ก: /members โก๏ธ GET
2. ํ์ ๋ฑ๋ก ํผ: /members/new โก๏ธ GET
3. ํ์ ๋ฑ๋ก: /members/new, /members โก๏ธ POST
4. ํ์ ์กฐํ: /members/{id} โก๏ธ GET
5. ํ์ ์์ ํผ: /members/{id}/edit โก๏ธ GET
6. ํ์ ์์ : /members/{id}/edit, /members/{id} โก๏ธ POST
7. ํ์ ์ญ์ : /members/{id}/delete โก๏ธ POST
- ์์ํ HTML๊ณผ HTML Form์ GET, POST๋ง ์ง์ํ๊ธฐ ๋๋ฌธ์ ์ ์ฝ์ด ์๋ค.
- ์ปจํธ๋กค URI
- GET, POST๋ง ์ง์ํ๋ ์ ์ฝ์ ํด๊ฒฐํ๊ธฐ ์ํด ๋์ฌ๋ก ๋ ๋ฆฌ์์ค ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉ
- HTTP ๋ฉ์๋๋ก ํด๊ฒฐํ๊ธฐ ์ ๋งคํ ๊ฒฝ์ฐ ์ฌ์ฉ
- ๐ /members/new
- ๐ /members/{id}/edit
- ๐ /members/{id}/delete
๐ ์ฐธ๊ณ ํ๋ฉด ์ข์ URI ์ค๊ณ ๊ฐ๋
- ๋ฌธ์(document) : ๋จ์ผ ๊ฐ๋
(ํ์ผ ํ๋, ๊ฐ์ฒด ์ธ์คํด์ค, ๋ฐ์ดํฐ๋ฒ ์ด์ค row)
- ๐ /members/100 /files/star.jpg
- ์ปฌ๋ ์
(Collection) : ์๋ฒ๊ฐ ๊ด๋ฆฌํ๋ ๋ฆฌ์์ค ๋๋ ํ ๋ฆฌ
- ํด๋ผ์ด์ธํธ๋ ์์ฒญ๋ง ํ๊ณ ์๋ฒ๊ฐ ๋ฆฌ์์ค์ URI๋ฅผ ์์ฑํ๊ณ ๊ด๋ฆฌํ๋ค.
- ๐ /members
- ์คํ ์ด(Store) : ํด๋ผ์ด์ธํธ๊ฐ ๊ด๋ฆฌํ๋ ์์ ์ ์ฅ์
- ํด๋ผ์ด์ธํธ๊ฐ ๋ฆฌ์์ค์ URI๋ฅผ ์๊ณ ๊ด๋ฆฌํ๋ค.
- ๐ /files
- ์ปจํธ๋กค๋ฌ(Controller), ์ปจํธ๋กค URI : ๋ฌธ์, ์ปฌ๋ ์
, ์คํ ์ด๋ก ํด๊ฒฐํ๊ธฐ ์ด๋ ค์ด ์ถ๊ฐ ํ๋ก์ธ์ค ์คํํ ๋ ๋์ฌ๋ฅผ ์ง์ ์ฌ์ฉํ๋ค.
- ๐ /members/{id}/delete