UriTemplates 用于处理格式化Uri模板

PM> Install-Package Tavis.UriTemplates

设置Uri Path Segment

[Fact]
public void UpdatePathParameter()
{
var url = new UriTemplate("http://example.org/{tenant}/customers")
.AddParameter("tenant", "acmé")
.Resolve(); Assert.Equal("http://example.org/acm%C3%A9/customers", url);
}

设置Querystring

[Fact]
public void ShouldResolveUriTemplateWithNonStringParameter()
{
var url = new UriTemplate("http://example.org/location{?lat,lng}")
.AddParameters(new { lat = 31.464, lng = 74.386 })
.Resolve(); Assert.Equal("http://example.org/location?lat=31.464&lng=74.386", url);
}

如果参数没有被设置url会删除这个参数

[Fact]
public void SomeParametersFromAnObject()
{
var url = new UriTemplate("http://example.org{/environment}{/version}/customers{?active,country}")
.AddParameters(new
{
version = "v2",
active = "true"
})
.Resolve(); Assert.Equal("http://example.org/v2/customers?active=true", url);
}

  

可以传递一个List作为参数

[Fact]
public void ApplyParametersObjectWithAListofInts()
{
var url = new UriTemplate("http://example.org/customers{?ids,order}")
.AddParameters(new
{
order = "up",
ids = new[] {21, 75, 21}
})
.Resolve(); Assert.Equal("http://example.org/customers?ids=21,75,21&order=up", url);
}

添加一个字典作为参数

[Fact]
public void ApplyDictionaryToQueryParameters()
{
var url = new UriTemplate("http://example.org/foo{?coords*}")
.AddParameter("coords", new Dictionary<string, string>
{
{"x", "1"},
{"y", "2"},
})
.Resolve(); Assert.Equal("http://example.org/foo?x=1&y=2", url);
}

最新文章

  1. Windows phone应用开发[20]-禁止Pivot手势
  2. AX2012单元格显示颜色 displayOption
  3. PhotoShop简介
  4. 页面缩放对css的影响
  5. git-quick-start 动画讲解Git命令行
  6. SDL2.0的几何图行绘画
  7. ORA-00933: SQL command not properly ended
  8. linux设备驱动模型
  9. input子系统分析
  10. 关于java的上转型对象
  11. AIO5销售发货单numeric算数溢出报错:将numeric转换成数据类型numeric时出现算数溢出错误
  12. echarts自定义提示框数据
  13. [sed]命令笔记
  14. vi怎么查找关键字
  15. [1] 注解(Annotation)-- 深入理解Java:注解(Annotation)基本概念
  16. Android Fragment(一)
  17. image 样式设置
  18. AutoCAD DevTV-AUTOCAD二次开发资源合集
  19. ajax 同步
  20. jquery不能是使用普通的for循环 因为普通的for循环通过下表获取对象 如果通过下表获取对象的话 会转成dom对象

热门文章

  1. android下载简单工具类
  2. [IOS NSUserDefaults]的使用:登陆后不再显示登录界面。
  3. Git工具:Widows下的使用(提交到Github)
  4. JAva使用DOM读取XML数据(解析)
  5. “K米” 软件产品评测
  6. Linux/UNIX 定时任务 cron 详解
  7. JQuery 技巧积累与总结
  8. SaltStack与ZeroMQ(二)
  9. js初学—实现checkbox全选功能
  10. PHP无限分类分类导航LINK的代码