本文整理汇总了C#中UriTemplate类的典型用法代码示例。如果您正苦于以下问题:C# UriTemplate类的具体用法?C# UriTemplate怎么用?C# UriTemplate使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
UriTemplate类属于命名空间,在下文中一共展示了UriTemplate类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: LabelExpansionWithDotPrefixAndEmptyKeys
public void LabelExpansionWithDotPrefixAndEmptyKeys()
{
var template = new UriTemplate("X{.empty_keys}");
template.SetParameter("empty_keys", new Dictionary<string, string>());
var uriString = template.Resolve();
Assert.Equal("X", uriString);
}
示例2: ExtendedSamplesTest
public void ExtendedSamplesTest(string template, string[] results, TestSet.TestCase testCase)
{
var uriTemplate = new UriTemplate(template);
foreach (var variable in testCase.TestSet.Variables)
{
uriTemplate.SetParameter(variable.Key, variable.Value);
}
string result = null;
ArgumentException aex = null;
try
{
result = uriTemplate.Resolve();
}
catch (ArgumentException ex)
{
aex = ex;
}
if (results[0] == "False")
{
Assert.NotNull(aex);
}
else
{
Assert.True(results.Contains(result));
}
}
示例3: FailureSamplesTest
// Disabled for the moment. [Theory, PropertyData("FailureSamples")]
public void FailureSamplesTest(string template, string[] results, TestSet.TestCase testCase)
{
var uriTemplate = new UriTemplate(template);
foreach (var variable in testCase.TestSet.Variables)
{
uriTemplate.SetParameter(variable.Key, variable.Value);
}
string result = null;
ArgumentException aex = null;
try
{
result = uriTemplate.Resolve();
}
catch (ArgumentException ex)
{
aex = ex;
}
Assert.NotNull(aex);
}
示例4: FactMethodName
public void FactMethodName()
{
UriTemplate template = new UriTemplate("https://api.github.com/search/code?q={query}{&page,per_page,sort,order}");
template.SetParameter("query", "1234");
template.SetParameter("per_page", "19");
var result = template.Resolve();
}
示例5: ShouldAllowUriTemplateWithPathSegmentParameter
public void ShouldAllowUriTemplateWithPathSegmentParameter()
{
var template = new UriTemplate("http://example.org/foo/{bar}/baz");
template.SetParameter("bar", "yo");
var uriString = template.Resolve();
Assert.Equal("http://example.org/foo/yo/baz", uriString);
}
示例6: QueryParametersTheNewWay
public void QueryParametersTheNewWay()
{
var url = new UriTemplate("http://example.org/customers{?active}")
.AddParameter("active", "true")
.Resolve();
Assert.Equal("http://example.org/customers?active=true", url);
}
示例7: UpdatePathParameter
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);
}
示例8: ShouldResolveUriTemplateWithNonStringParameter
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);
}
示例9: SpecTest
public void SpecTest(TestCase testCase)
{
Assume.That(!testCase.IsInvalid);
var uriTemplate = new UriTemplate(testCase.Template);
var uri = uriTemplate.Resolve(testCase.Suite.Variables);
Assert.Contains(uri, testCase.Expecteds);
}
示例10: ResolveDocumentationUri
private static Uri ResolveDocumentationUri(ILinkObject link, string rel)
{
var template = new UriTemplate(link.Href.ToString());
template.SetParameter("rel", rel);
return new Uri(template.Resolve());
}
示例11: ShouldAllowUriTemplateWithQueryParamsButNoValues
public void ShouldAllowUriTemplateWithQueryParamsButNoValues()
{
var template = new UriTemplate("http://example.org/foo{?bar,baz}");
//template.SetParameter("bar", "yo");
//template.SetParameter("blar", "yuck");
var uriString = template.Resolve();
Assert.Equal("http://example.org/foo", uriString);
}
示例12: ShouldAllowUriTemplateWithQueryParamsWithOneValue
public void ShouldAllowUriTemplateWithQueryParamsWithOneValue()
{
var template = new UriTemplate("http://example.org/foo{?bar,baz}");
template.SetParameter("baz", "yo");
var uriString = template.Resolve();
Assert.Equal("http://example.org/foo?baz=yo", uriString);
}
示例13: ResolveTemplateUrl
private static string ResolveTemplateUrl(string href, Dictionary<string, string> values)
{
var template = new UriTemplate(href);
foreach (var templateValue in values)
template.SetParameter(templateValue.Key, templateValue.Value);
return template.Resolve();
}
示例14: UriTemplateBuilder
public UriTemplateBuilder(UriTemplate uriTemplate)
{
if (uriTemplate == null)
{
throw new ArgumentNullException("uriTemplate");
}
this.components = new List<IUriTemplateComponent>(uriTemplate.Components);
}
示例15: ShouldAllowListAndSingleValueInQueryParam
public void ShouldAllowListAndSingleValueInQueryParam()
{
var template = new UriTemplate("http://example.org{/id*}{?fields,token}");
template.SetParameter("id", new List<string>() { "person", "albums" });
template.SetParameter("fields", new List<string>() { "id", "name", "picture" });
template.SetParameter("token", "12345");
var uriString = template.Resolve();
Assert.Equal("http://example.org/person/albums?fields=id,name,picture&token=12345", uriString);
}