마이크로 프레임 워크에서 RESTful API 자원 아키텍처를 구현하려고합니다. 최근에 개발 한 고급 라우팅 기능을 활용하여 개체 계층과 병행하여 리소스 경로를 모델링합니다. (아, 공상이다!)RESTful API 자원 아키텍처 및 구문; 내가 제대로하고 있니?
는내가 사용하고있어 URI의 구문은 다음과 같은 것을 매핑
'http://www.site.com/user;id=123/article;id=456'
가 (한 번 내가 통합 :
'http:// www.site.com/resource [ ; key1 = param1 [ & key2 = param2 ] ]'
이 같은 URI를 허용 할 라우터에이 기능)
$user->getByParams('id=123')->article->getByParams('id=456');
그래서 추가 예 :
,174,'GET /user;id=123 GET'
# read User object data matching id=123
'GET /user;id=123/article;id=456'
# read Article object data matching id=456
# belonging to User object matching id=123
'GET /user;name=john&age=20/article;title=hello%20world'
# read Article object(s) data matching title='hello world'
# belonging to User object(s) matching name='john' and age=20
마지막 문제는 여러 가지 결과를 쿼리 데이터와 비교하는 것입니다 (SQL의 경우 LIKE
). 와일드 카드를 나타내는 안전 문자는 무엇이겠습니까? 별표 (*
)는 하위 구분 기호 예약 목록 http://labs.apache.org/webarch/uri/rfc/rfc3986.html#reserved에 표시되므로 인코딩되지 않은 상태로 유지됩니다. 아마도 % 25 (%
)
구현에 따라 다를 수 있다는 것을 알고 있지만 아이디어와 관련하여 RESTful API 자원 아키텍처를 구현하는 기존 프레임 워크가 있습니까?
또한 여기에 곡물을 완전히 반대합니까?
** 감사 Darrel Miller ** 귀하의 자원 아키텍처 재검토에 대한 귀하의 조언이 실용화되었습니다. 여기에 제 사례의 가장 유용한 구현은 리소스 URI가 페이지 컨트롤러의 URI와 동일한 아키텍처를 사용하는 * REST/RPC * 하이브리드가 될 것이지만 API 호출은 페이지 컨트롤러를 건너 뛰고 JSON 요청 객체를 모델 ACL 프록시 (게이트웨이). – Dan