2010-08-10 2 views
2

Я новичок в REST, и я создаю службу, используя предварительный просмотр WCF REST Starter Kit 2 в C#. Большинство примеров, показывающих, как определить UriTemplate, предполагают, что вы знаете точный формат URL-адреса и можете выбирать биты, необходимые для выполнения запроса. Но ...Иерархические URL-адреса синтаксиса

Как разрешить пользователям вводить URL-адрес, который определяет иерархию и как ее обрабатывать? например сказать, что я хочу, чтобы обеспечить интерактивный механизм хранения файлов, который позволяет пользователю просматривать содержимое «папка» (все подается из базы данных - не физические папки конечно)

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

т.е. пользователь хочет просмотреть содержимое «Папка», которая указана как «root/level1/level2/level3». Затем я могу использовать этот путь и обслуживать данные из моей БД на основе этой информации.

Спасибо!

ответ

2

Вы можете использовать подстановочный знак (*) в своем UriTemplate. Например:

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

Вот link на MSDN, которая содержит описание и правила вокруг UriTemplates (правила о 1/2 пути вниз). Главное иметь в виду, что вы можете иметь только один подстановочный сегмент для строки шаблона. Надеюсь, это поможет!

BTW, ссылка на документы MSDN для .NET 4. Я думаю, что это относится и к 3.5.

+0

Отлично. Благодаря! – jqwha

Смежные вопросы