You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GET请求收到方法名含无效字符报错,后端调用MapBox API配置问题

根因说明
  • 你贴出的错误是典型的HTTP/HTTPS协议不匹配异常:报错信息里的0x16是TLS握手请求的首字节标识,说明服务端收到了HTTPS格式的请求,但当前监听端口仅支持HTTP协议,解析时把TLS报文内容识别为了非法的HTTP方法名。
  • 你当前提供的代码仅完成了MapBox请求URL的拼接返回,没有包含后端主动调用MapBox API的逻辑,需要先确认报错的触发链路:是你后端调用MapBox时抛出的异常,还是前端/客户端请求你提供的/getTarget接口时抛出的异常。
  • 你拼接MapBox请求URL的逻辑存在语法错误:你使用了${}包裹access_token变量,最终生成的URL中token参数会携带多余的${}字符,MapBox服务端会识别为非法token返回401错误。
修复方案
  1. 修正URL拼接逻辑,去掉${}符号:
public String getTarget() {
    TargetLocation location = targetLocationRepository.findTargetLocationById();
    String lat = location.getLatitude();
    String lng = location.getLongitude();
    // 直接拼接token值,不需要${}包裹
    return "https://api.mapbox.com/geocoding/v5/mapbox.places/"+lat+","+lng+".json?access_token="+MAPBOX_ACCESS_TOKEN;
}
  1. 协议匹配排查:
  • 如果是后端调用MapBox时触发报错:检查你调用MapBox的HTTP客户端配置,确认请求的是HTTPS协议的MapBox地址,没有被强制改写为HTTP,也没有指定错误的请求端口。
  • 如果是客户端请求你的/getTarget接口时触发报错:检查客户端请求使用的协议,如果你服务端没有配置SSL证书,不要用HTTPS协议请求服务的HTTP端口;如果需要支持HTTPS,正确配置服务端的SSL证书和HTTPS监听端口。
  1. 如果你需要在后端直接调用MapBox API获取结果,需要引入HTTP客户端工具(如RestTemplate、OkHttp)发起请求,当前代码仅返回URL字符串不会主动调用第三方接口。

内容的提问来源于stack exchange,提问作者Tip

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 03:18:03