Angular:使用 POST 而不是 GET 来检索第三方 API 数据(错误 400 url 太长)

问题描述 投票:0回答:1

我正在开发一个小项目来理解 HTTP 请求。为此,我使用了我调用的第三方 API。

数据警察API

我的项目有一个包含纬度和经度坐标的所有邻里边界的库。我使用这些边界坐标作为街道犯罪 API 的查询(如下面链接的文档中所述)。

街头犯罪

请求示例:

getComments(): Observable<APIData[]> { return this.http.get<APIData[]> ('https://data.police.uk/api/crimes-street/all-crime?poly=52.268,0.543:52.794,0.238:52.130,0.478&date=2017-01'); }

有些邻域的边界坐标极其复杂,由于查询参数的原因导致 URL 请求非常长。上面的文件提到:

'API 将返回 400 状态代码以响应长度超过 4094 个字符的 GET 请求。对于提交特别复杂的多边形参数,请考虑使用 POST。'

如何使用POST方法将API数据返回到我的前端webapp?

angular typescript xmlhttprequest http-post
1个回答
0
投票

我想你应该使用类似的东西

getData()
{
  const data={poly:....;
            date:'2024-06'
           }
  return this.httpClient.post("https://data.police.uk/api/crimes-street/all-crime",data)
}

但是 API 文档确实不是很清楚

注意:是的,post 可用于检索数据,典型的是,登录通常是 API POST 调用

© www.soinside.com 2019 - 2024. All rights reserved.