首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Zebble中将绝对URL传递给Api.Get方法?

如何在Zebble中将绝对URL传递给Api.Get方法?
EN

Stack Overflow用户
提问于 2017-04-14 15:04:28
回答 1查看 83关注 0票数 3

我尝试使用以下代码获取产品:

代码语言:javascript
运行
复制
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中的不同端点发出请求,我们如何实现呢?

EN

回答 1

Stack Overflow用户

发布于 2017-04-15 21:24:43

你的假设是错误的。当你调用时:

代码语言:javascript
运行
复制
Api.Get<TResponse>(someUrl);

然后:

  • 如果someUrl以https:// URL.
  • Otherwise,开头,则它将被视为相对Url。在这种情况下,为了查找绝对,Zebble将在其前面加上配置值Api.Base.Url.

示例:

如果在您的config.xml文件中有:

代码语言:javascript
运行
复制
<Api.Base.Url>https://my-server.com</Api.Base.Url>

然后,下面这行代码将向“https://my-server.com/api/hello”发送一个HTTP请求:

代码语言:javascript
运行
复制
Api.Get<TResponse>("api/hello");

但是在下面的调用中,config.xml文件中Api.Base.Url的值将被忽略(因为它是一个绝对url):

代码语言:javascript
运行
复制
Api.Get<TResponse>("https://some-absolute-url.com/...");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43406809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档