여러 요청 유형이있는 시스템을 설계하고 있습니다. 예를 들어, 사용자는 조직에 "가입"하거나 이벤트 (및 기타 여러 유형)에 대해 "등록"할 수 있습니다.여러 요청 유형이있는 시스템의 올바른 REST 아키텍처
그래서 나는이
GET /memberships?organization=125
GET /registrations?event=2556
등 시스템이 요청 시스템을 수 있도록 진화 시간이 지남에
, 사용자 첫째 요청은 관리자에 의해 승인 된 조직에 가입 할 수 있도록 , 그러면 실제 회원이됩니다. 해야,
POST /membership_requests {organization:"125",user:"200"}
GET /registration_requests {event:"2556",user:"200"}
질문을 구걸한다 : 마찬가지로, 사용자 등 관리자가 승인하거나 거부 이벤트,
이 중복 비즈니스 오브젝트와 디자인의 많은 리드에 등록를 요청 여러 유형을 지원할 수있는 단일 요청 시스템이 있습니까?
POST /requests {user:"200",type:"event",item:"2556"}
- 거꾸로 :
- 단점 모든 요청에 대해 요청에 대해 한 곳에서 쉽게 쿼리, 단일 코드 기반을 : 나는 더 이상
GET /membership_requests?organization=125
쿼리 없지만, 대신 그것은GET /requests?type=organization&item=125
이다 할 필요가 있습니다 보다 일반적인 시스템이지만 쿼리가 이상하게 보입니다.
나는 약간의 의견을 바탕으로하지만, 한 경로에서 다른 경로로가는 영향에 대한 사람들의 경험을 찾고 있습니다.
그래, 나는 그것에 대해서도 걱정했다. 당신이 말하는 것처럼 들리 겠지만, 간단한 해결책은 없습니다. 어떤 식 으로든 상충 관계가있을 것입니다. – deitch
그리고. 네,'type = organization & item = 125' (조직에 합류하라는 요청 125)는'request = 123456'과 동일하지만, 후자는 ID에 의한 GET 단일 항목이고 전자는 검색입니다. – deitch
후속 조치 : 이번 주에는 알림 시스템을 구현했습니다. 사용자가 요청을 열 때마다 관리자는 승인을 요청할 때와 마찬가지로 보류중인 요청이 있음을 알립니다. 관리자가 승인하거나 거부 할 때마다 사용자는 알림을받습니다. 이로 인해 각 요청 유형마다 많은 중복 코드가 생성되었습니다. 나는 통일 된 길을 갔어야했는데 ... 아직은. – deitch