나는 REST API는 다른 일을 얻을 해당 문서의 기본 문서와 심판을 단지 휴식을 다시 제공 원칙 하우투 다음과 같은 구현이 등 등 예를 들어, A/자동차의 RESTful API 정렬 딜레마
/5 나에게 모델을 제공합니다 : blabla, user_id : 1 그리고 나서 소유자가 필요하면/user/1을 통해 사용자 데이터를 얻습니다.
이렇게하면 DB에 피할 수 있습니다. 모든 것들은 상호 연결되어 있고 데이터는 서로 연결되어 있습니다. 휴식 클라이언트 부분 - 캐시/배율 캐쉬, 눈금 등을 간단하게 유지.
하지만 정렬이 필요할 때 어떻게됩니까?
다음 데이터를 표시하는 프론트 엔드에 대한 일부보기를 가정 해 보겠습니다. 자동차 모델, 사용자 이름 등 ... 예를 들어 사용자 이름별로 정렬하고 싶습니다.
당신은 정말에만 사용자 ID 알고 원인 이름을 기준으로 정렬하려면/자동차/5 말해 ... 나는 사용자/사용자/목록에서 정렬됩니다? 참조
하나의 옵션 sortby = 사용자 이름과 수 없습니다 반환 된 ID 중 실제로 자동차를 참조하는 ID를 상호 연결합니다. 그러나 이것은 우리가 모든 사용자를 얻고 킬러 성능 병목 현상을 보이는 부분만을 사용해야한다는 것을 의미합니다. 어떤 포인터
잘 견디고 나머지는 REST 뒤에 있습니다. 현재 ORM을 사용하고 있지만 나머지는 관련이 있다고 생각하지 않습니다. –
DB에 대한 조인을 피하고 REST 응용 프로그램 계층에 모든 개체를 연결 했으므로 ORM을 사용한다는 힌트를 얻었습니다. 이 간단한 아키텍처의 매력을 볼 수는 있지만 현재의 딜레마의 근원 일 것입니다. 응용 프로그램 작동을 위해이 아키텍처를 손상 시키려고합니다. 사전 정렬 된 데이터를 반환하는 DB에 추가 저장된 procs 또는 뷰가 있고, 여전히 이러한 개체에 대한 ORM 매핑을 제공하고 REST 응용 프로그램을 선택하도록합니다. 쿼리에 따라 메소드 간. –