我尝试使用以下代码获取产品:
public static async Task<List<Product>> GetProducts()
{
return await Get<List<Product>>("http://locahost:5919/api/products");
}
但是Get方法似乎只接受相对URL,我必须在Config.xml文件的Api.Base.Url设置中传递绝对URL。
我也尝试过在return语句之前通过BaseUrl属性赋值绝对URL,但没有任何区别。
另一件奇怪的事情是,如果我插入一个假的URL (例如http://www.yahoo.com)作为Api.Base.Url值并运行项目,则会发生以下错误。Error when adding a fake URL for Api.Base.Url
因此,如果我们需要向一个项目中不同URL中的不同端点发出请求,我们如何实现呢?
发布于 2017-04-15 21:24:43
你的假设是错误的。当你调用时:
Api.Get<TResponse>(someUrl);
然后:
示例:
如果在您的config.xml文件中有:
<Api.Base.Url>https://my-server.com</Api.Base.Url>
然后,下面这行代码将向“https://my-server.com/api/hello”发送一个HTTP请求:
Api.Get<TResponse>("api/hello");
但是在下面的调用中,config.xml文件中Api.Base.Url的值将被忽略(因为它是一个绝对url):
Api.Get<TResponse>("https://some-absolute-url.com/...");
https://stackoverflow.com/questions/43406809
复制相似问题