Mapbox导航API返回422无法处理的实体

时间:2019-08-21 15:57:39

标签: api mapbox

我正在尝试调用mapbox api以获取导航说明。

以下是文档:https://docs.mapbox.com/api/navigation/#using-http-post

这是我的api调用:

fetch(`https://api.mapbox.com/directions/v5/mapbox/walking?access_token=${Config.MAPBOX_API_KEY}`, {
  method: 'POST',
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/x-www-form-urlencoded',
  },
  body: JSON.stringify({
    coordinates: "2.344003,48.85805;2.34675,48.85727;",
  }),
}).then(res => {
  console.log(res)
}).catch(err => {
  console.log(err)
})

不幸的是,我收到422无法处理的实体错误:

enter image description here

我也尝试过不同的坐标...你们知道我缺少什么吗?

1 个答案:

答案 0 :(得分:1)

您将坐标作为字符串传递,但是API需要一个数字,这就是为什么要获取422的原因。试试这个:

fetch(`https://api.mapbox.com/directions/v5/mapbox/walking?access_token=pk.eyJ1IjoiYmRkYXZpZHNvbiIsImEiOiJjaW41MWU5bTcwY2k1dXdtNG54cnhlczFsIn0._R6SrAak5_qF8l31JvSBIA`, {
  method: 'POST',
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/x-www-form-urlencoded',
  },
  body: 'coordinates=2.344003,48.85805;2.34675,48.85727',  // <--- Body changed to pass numbers instead of strings
}).then(res => {
  console.log(res)
}).catch(err => {
  console.log(err)
})