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);
    }
    
  • 相关阅读:
    蓝牙4.0BLE抓包(二) – 广播包解析
    蓝牙4.0BLE抓包(一)
    蓝牙4.0 BLE 广播包解析
    蓝牙学习笔记之实例广播数据的解析
    Android ConstraintLayout详解
    Android ConstraintLayout的基本使用
    使用EasyBCD完美实现Windows7与Linux双系统
    使用MbrFix.exe修复MBR分区表
    C#中的Delegate
    C# 设置程序开机自动运行(+注册表项)
  • 原文地址:https://www.cnblogs.com/irocker/p/nuget-uritemplates.html
Copyright © 2011-2022 走看看