记一次VUE前端请求@RequestParm 400问题

      从400的错误上,我们可以轻易的看出来,是参数有问题!可是前端说自己写法没有问题,后端说postman请求没有问题,开始扯皮。

 

 @RequestMapping(value = "/getCountryByPinyin",method = RequestMethod.POST)
 @ResponseBody
 public List<CountryPOJO> getCountryByPinyin(
                            @RequestParam(value = "pinyinKey"
                          ) String pinyinKey){
        List<CountryPOJO> countryByPinyin 
                = countryService.getCountryByPinyin(pinyinKey);

        return countryByPinyin;
    }

  一段简单的代码,postman请求是正常的返回参数,可是vue一请求就400,关键昨天一样的代码,前端可以请求到,今天换了个接口,就请求不到了,再一看昨天的接口,@RequestParam中缺少个默认值defaultValue,加上之后,可以请求到了,但是并没有接收到入参,找了网上,有网友说把请求的content-type更换下,application/json;charset=UTF-8换成application/x-www-form-urlencoded,赶快找出来,甩给前端,前端给了之后,依然没有效果。

这个时候,就需要分析下@RequestParam的注解了,这个注解接收到的是什么?他能不能接收到json?在网上找了好多资料,都没有具体说明,这个注解到底能不能接收到json,但是前端小姐姐传递的数据{"pinyinKey":"A"},感觉这是json啊,资料显示这个注解用来接收controller上的参数,controller应该就是url上的了啊,

  遂让前端小姐姐,改下传递参数的方式:

"localhost:8080/api/country/getCountryByPinyin?pinyinKey="+this.param

 成了!

@RequestParam这个注解,只能接收controller上参数,而非直接接收json。

以上个人简介,如果有详细的资料,可以在评论区告知,指导我学习下

 

感谢,此致敬礼

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值