HTTP API 사용
중요한 것은 리소스와 리소스를 하는 행위를 분리하는 것
리소스는 복수형으로 작성
ex) 회원 관리 시스템
회원 목록 /members -> GET
회원 조회 /members/{id} -> GET
회원 등록 /members/{id} -> POST
회원 수정 /members/{id} -> PATCH, PUT, POST
회원 삭제 /members/{id} -> DELETE
PATCH : 부분 수정
PUT : 완전히 교체
PUT은 전체 데이터를 보내야 하기 때문에 수정의 경우 PATCH를 사용하는 것이 좋음. PUT도 용도에 맞게 사용하면 되지만(ex.게시물) 드물다.
POST/members ----> HTTP/1.1 201 Created
Location: /members/100 // Location또는 body에 작성해줌
이러한 형식을 컬렉션이라 한다
ex) 파일 관리 시스템
파일 폴더 /files -> GET
파일 조회 /files/{filename} -> GET
파일 등록 /files/{filename} -> PUT
파일 삭제 /files/{filename} -> DELETE
파일 대량 등록 /files -> POST
파일의 경우 새로 덮어쓰는 것이 맞기에 PUT 사용
=> POST의 경우 의미를 임의로 지정
클라이언트가 직접 리소스의 URI 지정
이러한 형식을 스토어라고 한다
👉 컬렉션 / 스토어 중 대부분 컬렉션을 사용
ex) 순수 HTML, 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
문서 (document)
컬렉션 (Collection)
스토어 (Store)
컨트롤러, 컨트롤 URI (Controller)