Uri Rest 资源名称格式

Uri Rest resource name formating

我有资源,正在尝试使用 GET 操作检索

资源如下所示,资源由用户名定义 其中可以包含域信息。即 var userName = @"Domain\myname" 我在重新格式化 Uri

时遇到问题

我试过的是 1. var resource = string.Format("/user/{0}/order", Uri.EscapeDataString(userName ));

  1. var resource = string.Format("/user/{0}/order", HttpUtility.UrlEncode(userName ));

我正在使用 .Net 向后端发送数据HttpClient我收到一条错误消息,指出未找到端点。当我查看调试器的调用时,我看到了端点 正在尝试访问:user/Domain/myname/order

可以做什么,因此资源参数可以包含域 '\' 个字符

我不是 C# 的人,所以我不知道答案[tm],但我可以告诉你一些要寻找的东西

  1. String.Format 很可能是工具包中的错误工具。您不是在尝试格式化字符串,而是在尝试格式化 URI。所以你应该寻找像 UriTemplate

    这样的东西
  2. 您应该确保您知道正确的结果是什么。这是由 URI specification.

    的第一个附录定义的