2010-08-10 9 views
2

저는 REST를 처음 사용하고 있으며 C#의 WCF REST Starter Kit Preview 2를 사용하여 서비스를 작성하고 있습니다. UriTemplate을 정의하는 방법을 보여주는 대부분의 예제에서는 URL의 정확한 형식을 알고 요청을 수행하는 데 필요한 비트를 선택할 수 있다고 가정합니다. 하지만 ...계층 적 URL 구문 분석

사용자가 계층 구조를 정의하는 URL을 입력하도록 허용하려면 어떻게해야하며 어떻게 처리합니까? 예 : 나는 사용자가 "폴더"의 내용을 볼 수있는 온라인 파일 저장 기능을 제공하고 싶은 말은 (모든 데이터베이스에서 제공 - 물론 물리적 인 폴더) 사용자가 내용을 나열하고 싶어 즉

http://mysite.com/MyService/Folder/root/level1/level2/level3 

"루트/레벨 1/레벨 2/레벨 3"으로 지정된 "폴더"의 이름. 그런 다음이 경로를 사용하고이 정보를 기반으로 내 DB에서 데이터를 제공 할 수 있습니다.

감사합니다.

답변

2

UriTemplate에서 와일드 카드 (*)를 사용할 수 있습니다. 예를 들어 :

[WebGet(UriTemplate="Folder/{*path}")] 
public List<Files> GetStuff(string path) { 
    //path is 'root/level1/level2/level3', which you can then parse 
} 

여기에 대한 설명과 UriTemplates 주위의 규칙 (규칙 아래로 약 1/2 방법)를 제공 MSDN에 link입니다. 명심해야 할 주요 사항은 템플릿 문자열에 대해 하나의 와일드 카드 세그먼트 만 가질 수 있다는 것입니다. 바라기를 이것은 도움이된다!

현재,이 링크는 .NET 4의 MSDN 문서입니다. 3.5에 대해서도 마찬가지입니다.

+0

우수. 감사! – jqwha