본문 바로가기
프로그래밍/Web Basic

URI 설계 예시(POST, PUT, HTML Form)

by YuminK 2023. 8. 1.

회원관리 시스템(API 설계 - POST 기반 등록)

1. 회원 목록 /members => GET

2. 회원 등록 /members => POST

3. 회원 조회 /members/{id} => GET

4. 회원 수정 /members/{id} => PATCH, PUT, POST

5. 회원 삭제 /members/{id} => DELETE

 

POST 신규 자원 등록 특징

1. 클라이언트는 등록될 리소스의 URI를 모른다.

 - 회원 등록 /members => POST

 

2. 서버가 새로 등록한 리소스 URI를 생성해준다.

 - HTTP/1.1 201 Created

Location: /members/100

 

3. 컬렉션(Collection)

 - 서버가 관리하는 리소스 디텍토리

 - 서버가 리소스의 URI를 생성하고 관리

 - 여기서 /members가 컬렉션

 

파일 관리 시스템(PUT - 신규 자원 등록 특징)

1. 클라이언트가 리소스 URI를 알고 있어야 한다.

 - 파일 등록 files/{filename} => PUT

 - PUT /files/start.jpg

 

2. 클라이언트가 직접 리소스의 URI를 지정한다.

 

3. 스토어(STORE)

 - 클라이언트가 관리하는 리소스 저장소

 - 클라이언트가 리소스의 URI를 알고 관리

 - 여기서 /files가 스토어

 

HTML FORM 사용

회원목록       /members => GET

회원 등록 폼 /members/new => GET

회원 등록      /members/new, /members => POST

회원 조회      /members/{id} => GET

회원 수정 폼 /members/{id}/edit => GET

회원 수정     /members/{id}/edit, members/{id} => POST

회원 삭제     /members/{id}/delete => POST

 

1. HTML Form은 GET, POST만 지원

2. 컨트롤 URI

 - GET, POST만 지원하므로 제약이 있다. 

 - 이런 제약을 해결하기 위해 동사로 된 리소스 경로 사용

 - POST의 /new, /edit, /delete가 컨트롤 URI

 - HTTP 메서드로 해결하기 애매한 경우 사용(HTTP API 포함)

출처: HTTP 웹 기본 지식 강의(김영한)

'프로그래밍 > Web Basic' 카테고리의 다른 글

상태코드 400, 500  (0) 2023.08.01
상태 코드 200, 300  (0) 2023.08.01
HTTP 메서드의 속성, 데이터 조회, HTML Form  (0) 2023.07.31
HTTP 메서드  (0) 2023.07.30
비연결성, HTTP 요청과 응답 메시지  (0) 2023.07.30

댓글