关于jquery Get请求不支持application/json调用
我开发了一个输入城市列表查询经纬度的接口 如下所示
curl -X GET -H 'Content-Type: application/json;charset=UTF-8' 'http://localhost:8080/getGeocoords' -d '["北京市","上海市","杭州市","广州市","深圳市"]'
我在命令行中明明可以调用 但是前端同事却说调用不了 非得改成POST才行
后面我用Restlet Client插件试了一下 好像确实不支持 提示如下
奇怪 为什么curl就可以呢? curl和XHR有什么区别吗?
补充
对应的后端代码是
@GetMapping("/getGeocoords")
public Result getGeocoordsByCityList(@RequestBody List<String> cityList)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
兄弟,虽说其实http请求的payloads是可以乱写的,但这并不符合规矩。
你用curl发的get请求,参数却全在-d中,这个-d是
HTTP POST data
,是post才要用的。如果你用tcpdump抓个包,你会发现curl完全不限制你请求咋发,真的可以随便搞。但是如果你想搞rest,你就要遵守rest的要求,get参数不能放在payloads里,要放在url中。
你代码有问题。
基本上, curl 比较智能。 监测到 -d 后, 自动转换成了 POST 。。。。
按http协议套路来