【问题标题】:What are end points in an APIAPI 中的端点是什么
【发布时间】:2018-04-12 17:56:05
【问题描述】:

我对 API 有以下描述。如何在我的 react 应用程序中或通过邮递员调用此 API?我不明白其中的端点。

部署了一个支持 CORS 的 API,用于 IP 地理定位和天气查询

https://weathersync.herokuapp.com. 

有两个端点:

/ip

获取请求者IP的地理位置

/weather/$lat,$lng

获取给定纬度和经度的天气

我在邮递员中尝试了https://weathersync.herokuapp.com/weather/28.704059,77.102490,但它不起作用。此外,https://weathersync.herokuapp.com/?ip=192.168.0.106 不起作用。感谢任何帮助,我是 API 新手

【问题讨论】:

  • ip一,试试https://weathersync.herokuapp.com/192.168.0.106
  • 但是,您应该知道该 ip 是本地 ip,而不是您的外部可见 ip
  • 使用weathersync.herokuapp.com/192.168.0.106 在邮递员中提出了获取请求,但没有成功。错误是无法得到任何响应
  • 你确定那个网站还在运行吗?

标签: javascript ajax reactjs api postman


【解决方案1】:

通过简单的反复试验,我设法确定此 API 希望您为 /ip 路由这样调用它:

https://weathersync.herokuapp.com/ip?73.119.54.218

请注意,这是非常不寻常的,并且会被大多数 API 设计人员认为是不正确的。我希望它改为/ip/73.119.54.218,但服务器没有正确设置来处理它。

另外,正如 TKoL 在 cmets 中提到的,像 192... 这样的 IP 将永远无法工作,因为它是一个本地 IP 地址,对您网络之外的外部世界不可见。如果服务器尝试根据该 IP 地址查找任何内容,它可能找不到任何内容,或者更糟糕的是,它可能会在其数据中心内找到有关计算机的某些内容,在这种情况下,它可能会返回从您的角度来看不太正确的数据看法。您可以通过 iplocation.net 等服务找到您的外部 IP。

您的天气示例对我来说效果很好(尝试在浏览器中点击下方):

https://weathersync.herokuapp.com/weather/28.704059,77.102490

我没有尝试过 Postman,但它可能不适合您,因为它发送的 HTTP 标头与浏览器不同。一些服务器期望发送某些标头。您可以在 Postman 中手动配置标题以模仿浏览器,如果是这种情况,这应该可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-12
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    • 2019-03-22
    • 2010-10-19
    • 2013-10-16
    • 2021-04-19
    相关资源
    最近更新 更多