我是REST新手,我正在使用C#中的WCF REST入门套件预览2构建服务。 大多数示例显示如何定义UriTemplate,假设您知道URL的确切格式,并可以选择执行请求所需的位。但...
如何允许用户输入定义层次结构的URL以及如何处理它?例如说我想提供一个在线文件存储设施,允许用户查看“文件夹”的内容(所有这些都来自数据库 - 当然不是物理文件夹)
http://mysite.com/MyService/Folder/root/level1/level2/level3
即。用户想要列出指定为“root / level1 / level2 / level3”的“文件夹”的内容。然后,我可以根据此信息采用此路径并从我的数据库提供数据。
谢谢!
答案 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。