我正在打电话给网络API。 Exmaple应该检索名称中带有字母“a”的每个组织。 这是网址,它直接针对网络API http://localhost/GMSWebServices/api/Organisations/get?name=a
如果我将Source硬编码到我的调用函数中,就像这样
RestRequest request = new RestRequest("Organisations/Get?Name=a");
// set the response data format
request.RequestFormat = ReturnFormat;
var response = _restClient.Execute<List<string>>(request);
这很好用。但是当我使用源是变量的格式时,并且不同地添加参数 例如
string Source = "Organisations";
RestRequest request = new RestRequest(Source, Method.GET);
// set the response data format
request.RequestFormat = ReturnFormat;
//provide any paramaters
foreach (RestSharp.Parameter p in WebParamaters)
{
request.AddParameter(p);
}
var response = _restClient.Execute<List<string>>(request);
它不起作用。
我是否以正确的方式使用Paramaters? 我是否需要将“/ Get”附加到我的Source的末尾我假设Method.Get处理了这个。
如何使用列表中的参数调用源Get方法? 对于每种方法,我的路由模板应该是什么样的?
埃里克
答案 0 :(得分:2)
好的..所以我无法使AddParameter工作,但后来我将其更改为AddQueryParameter并且它有效。
我查看了Restshapr文档,但我不确定为什么一个有效,另一个没有。
我正在调用.net web api服务,但忽略了RestSharp请求对象中的Parameters属性。也许web api不支持这种发送参数的方法。
答案 1 :(得分:0)
你必须附加“/ get”,Method.GET只指定请求类型,并且不向url添加任何东西,(因为有时你需要一个get方法来请求一个没有“get”的url在它)。
参数的使用似乎是正确的,所以只需改为:
string Source = "Organisations/get";
或者如果你在其他地方使用Source而没有获取:
RestRequest request = new RestRequest(Source + "/get", Method.GET);