• 包介绍


    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);
    }
    
  • 相关阅读:
    Django-model基础
    web框架
    django-MTV
    我与前端之间不得不说的三天两夜之jQuery
    vertical-align和line-height的深入应用
    我与前端之间不得说的三天两夜之css基础
    mysql数据库从删库到跑路之mysql:视图、触发器、事务、存储过程、函数
    我与前端之间不得不说的三天两夜之html基础
    hdu2206 IP地址的计算
    get方式中文乱码解决方法
  • 原文地址:https://www.cnblogs.com/irocker/p/nuget-uritemplates.html
Copyright © 2020-2023  润新知