zoukankan      html  css  js  c++  java
  • 包介绍

    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);
    }
    
  • 相关阅读:
    数据库事务的四大特性以及事务的隔离级别
    informer使用示例
    Linux内存、Swap、Cache、Buffer详细解析
    浏览器访问百度的整个过程
    安装zookeeper
    配置java环境
    promethues开发
    go mod常用操作说明
    redis使用基础
    channel的声明和使用
  • 原文地址:https://www.cnblogs.com/irocker/p/nuget-uritemplates.html
Copyright © 2011-2022 走看看