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