本文整理汇总了C#中Tavis.UriTemplates.UriTemplate.Resolve方法的典型用法代码示例。如果您正苦于以下问题:C# UriTemplate.Resolve方法的具体用法?C# UriTemplate.Resolve怎么用?C# UriTemplate.Resolve使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tavis.UriTemplates.UriTemplate
的用法示例。
在下文中一共展示了UriTemplate.Resolve方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: 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));
}
}
示例2: 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);
}
示例3: 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);
}
示例4: 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);
}
示例5: 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();
}
示例6: 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());
}
示例7: 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);
}
示例8: 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);
}
示例9: 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);
}
示例10: 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();
}
示例11: ShouldAllowUriTemplateToRemoveParameter
public void ShouldAllowUriTemplateToRemoveParameter()
{
var template = new UriTemplate("http://example.org/foo{?bar,baz}");
template.SetParameter("bar", "yo");
template.SetParameter("baz", "yuck");
template.ClearParameter("bar");
var uriString = template.Resolve();
Assert.Equal("http://example.org/foo?baz=yuck", uriString);
}
示例12: Query_param_with_list_array
public void Query_param_with_list_array()
{
UriTemplate template = new UriTemplate("/foo/{foo}/baz{?haz}");
template.SetParameter("foo", "1234");
template.SetParameter("haz", new string[] { "foo", "bar" });
string uri = template.Resolve();
Assert.Equal("/foo/1234/baz?haz=foo,bar", uri);
}
示例13: ShouldResolveMatrixParameter
public void ShouldResolveMatrixParameter()
{
var template = new UriTemplate("http://example.org/foo{;lat,lng}");
double lat = 31.464, lng = 74.386;
template.SetParameter("lat", lat);
template.SetParameter("lng", lng);
var uriString = template.Resolve();
Assert.Equal("http://example.org/foo;lat=31.464;lng=74.386", uriString);
}
示例14: PreserveReservedCharacterExpansion
public void PreserveReservedCharacterExpansion()
{
UriTemplate template = new UriTemplate("https://foo.com/?format={+format}");
template.SetParameter("format", "application/vnd.foo+xml");
var result = template.Resolve();
Assert.Equal("https://foo.com/?format=application/vnd.foo+xml", result);
var httpClient = new HttpClient();
var response = httpClient.GetAsync("http://yahoo.com/foo%2Fbar").Result;
}
示例15: ShouldResolveUriTemplateWithNonStringParameter
public void ShouldResolveUriTemplateWithNonStringParameter()
{
var template = new UriTemplate("http://example.org/foo/{bar}/baz{?lat,lng}");
double lat = 31.464, lng = 74.386;
template.SetParameter("bar", "yo");
template.SetParameter("lat", lat);
template.SetParameter("lng", lng);
var uriString = template.Resolve();
Assert.Equal("http://example.org/foo/yo/baz?lat=31.464&lng=74.386", uriString);
}