解析分层URL

时间:2010-08-10 14:05:00

标签: wcf rest

我是REST新手,我正在使用C#中的WCF REST入门套件预览2构建服务。 大多数示例显示如何定义UriTemplate,假设您知道URL的确切格式,并可以选择执行请求所需的位。但...

如何允许用户输入定义层次结构的URL以及如何处理它?例如说我想提供一个在线文件存储设施,允许用户查看“文件夹”的内容(所有这些都来自数据库 - 当然不是物理文件夹)

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

即。用户想要列出指定为“root / level1 / level2 / level3”的“文件夹”的内容。然后,我可以根据此信息采用此路径并从我的数据库提供数据。

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以在UriTemplate中使用通配符(*)。例如:

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

这是MSDN上的link,提供了有关UriTemplates的规则和规则(规则约为1/2)。要记住的主要事情是,模板字符串只能有一个通配符段。希望这有帮助!

BTW,链接是针对.NET 4的MSDN文档。我认为这也适用于3.5。