代码之家  ›  专栏  ›  技术社区  ›  jqwha

正在分析分层URL

  •  2
  • jqwha  · 技术社区  · 14 年前

    我刚开始休息,我正在使用c_中的wcf rest starter kit preview 2构建一个服务。 大多数演示如何定义uritemplate的示例都假定您知道URL的确切格式,并且可以选择执行请求所需的位。但是…

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

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

    即,用户希望列出指定为“根目录/级别1/级别2/级别3”的“文件夹”的内容。然后,我可以使用此路径,并基于此信息从我的数据库中提供数据。

    谢谢!

    1 回复  |  直到 14 年前
        1
  •  2
  •   David Hoerster    14 年前

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

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

    这里有一个 link 在提供描述和有关uritemplates的规则的msdn上(规则大约向下1/2)。要记住的主要一点是,一个模板字符串只能有一个通配符段。希望这有帮助!

    顺便说一句,链接指向.NET 4的msdn文档。我认为这也适用于3.5。