문제

여기서 직장에는 비즈니스 파트너에게 XML 피드를 제공하는 상자가 있습니다. 피드 요청은 쿼리 문자열 매개 변수 및 값을 지정하여 사용자 정의됩니다. 이러한 매개 변수 중 일부는 필요하지만 대부분은 그렇지 않습니다.

예를 들어, 파트너를 식별하기 위해 Guid를 지정하려면 모든 요청이 필요하며 "최신 정보"또는 "검색"작업에 대한 요청이 필요합니다.

검색을 위해 : http : //services.null.ext/? id = [Guid] & q = [검색 키워드
카테고리의 최신 데이터 : http : //services.null.ext/? id = [Guid] & category = [id

이러한 매개 변수에 대한 편안한 URL 방식을 구성하는 것은 쉽습니다.

검색: http : //services.null.ext/ [Guid]/검색/[키워드
최신: http : //services.null.ext/ [Guid]/최신/카테고리/[id

그러나 우리는 어떻게 우리가 가지고있는 12 가지 옵션 매개 변수를 어떻게 처리해야합니까? 이들 중 다수는 상호 독점적이며 많은 것이 조합에 필요합니다. 매우 빨리 가능한 경로의 수는 압도적으로 복잡해집니다.

복잡한 쿼리 문자열로 URL을 친근한/휴식/FUL/Paths에 매핑하는 방법에 대한 권장되는 관행은 무엇입니까?

(저는 컨벤션, 계획, 패턴 등에 관심이 있습니다. 웹 서버 또는 프레임 워크에서 URL에 대한 URL에 대한 구현을위한 특정 기술이 아닙니다.)

도움이 되었습니까?

해결책

쿼리 문자열에 선택적인 쿼리 매개 변수를 남겨 두어야합니다. 휴식에는 쿼리 문자열이 없다고 말하는 "규칙"이 없습니다. 사실, 그것은 반대입니다. 쿼리 문자열을 사용하여 클라이언트로 다시 전송하는 표현의보기를 변경해야합니다.

URL 경로 구성 요소에 대한 "대표 상태가있는 엔티티"를 고수하십시오. 카테고리는 괜찮아 보이지만 정확히 XML을 통해 먹이를주는 것은 정확히 무엇입니까? 게시물? 카탈로그 항목? 부속?

훨씬 더 나은 휴식 분류법은 다음과 같이 보일 것이라고 생각합니다 (XML 피드의 내용이 "기사"라고 가정 할 때) :

휴식 구조를 구축하는 동안 대표하는 엔티티에 대해 생각하지 않는다면 휴식을 취하지 않습니다. 당신은 다른 일을하고 있습니다.

보세요 이 기사는 휴식 모범 사례에 관한 기사입니다. 오래되었지만 도움이 될 수 있습니다.

다른 팁

값이있는 매개 변수? 하나의 옵션은 쿼리 문자열입니다. 그것을 사용하는 것은 본질적으로 비에 대한 것이 아닙니다. 또 다른 옵션은 세미콜론을 사용하는 것입니다. Tim Berners-Lee는 그들에 대해 이야기합니다 그리고 그들은 단지 법안에 맞아 URL이 긴 길을 잃지 않고 이해할 수 있도록 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top