➡️ Represetational State Transfer
➡️ URI
행위에 대한 표현이 들어가면 ❌
GET /users/1 ----(O)
GET /users/show/1 ----(X)
슬래시(/)는 계층 관계를 나타내는데 사용한다.
/fruit/mango
URI 마지막 문자로 슬래시(/)를 포함하지 않는다.
/fruit/mango/ ----(X)
하이픈(-)은 URI 가독성을 높이는데 사용한다.
/fruit/yellow-mango
밑줄(_)은 URI에 사용하지 않는다.
/fruit/yellow_mango -------(X)
URI경로는 소문자로 작성한다.
/fruit/Mango ----(X)
URI에 파일 확장자를 포함시키지 않는다.
/fruit/mango.jpg ----(X)
➡️ Method
| Method명 | 설명 |
|---|---|
| GET | Read : 자원 조회 |
| POST | Create: 자원 생성 |
| PUT | Update: 자원 수정 |
| DELETE | Delete : 자원 삭제 |
| 상태코드 | 설명 |
|---|---|
| 200 | 클라이언트 요청 정상 수행 |
| 201 | 클라이언트의 자원 생성(create) 요청 정상 수행 = POST 요청 시 정상작동 했을 때 반환 |
| 301 | 클라이언트가 요청한 자원에 대한 URI가 변경 되었을 때 (응답시, 변경된 URI 반환) |
| 400 | 클라이언트 요청이 부적절 할 경우 = 잘못된 요청 |
| 401 | 클라이언트가 인증되지 않은 상태에서 자원 요청 했을 경우 (로그인 안되어 있는데, 자원 요청) |
| 403 | 응답하고 싶지 않은 자원을 클라이언트가 요청 했을 경우 = 권한 없음 |
| 404 | 자원이 존재하지 않는 경우 |
| 500 | 서버에 문제가 있을 경우 |
/todos, /users, /posts 등 json 형태의 자료들을 조회 할 수 있음.