springboot Failed to convert value of type ‘java.lang.String‘ to required type ‘java.lang.Long‘; nes

14 篇文章 0 订阅
1 篇文章 0 订阅

springboot项目请求时报错

Resolved [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert value of type ‘java.lang.String’ to required type ‘java.lang.Long’; nested exception is java.lang.NumberFormatException: For input string: “XXX”]

从报错上看应该是参数类型转换错误,不过即使把参数全删了也还是会报错

    var url = "http://localhost:8000/mmmm/rest/ytest/list_test?id=ss&param1.bb=a";

    var param1 = {
      'gfd': 'looooo'
    };

	$.ajax({
      url: url,
	  type: 'get',
      data: param1,
      success: function(data){
        console.log(data);
      }
    });
    @PostMapping("list_test")
    public Object list_test(){
        return null;
    }

真正的报错原因在于http请求类型设置错误,改为type: 'post', 即可。

需要注意的是其他错误也会报这个错,比如这个

    var url = "http://localhost:8000/mmmm/rest/ytest/list_test11111111?id=ss&param1.bb=a";

    var param1 = {
      'gfd': 'looooo'
    };

	$.ajax({
      url: url,
	  type: 'get',
      data: param1,
      success: function(data){
        console.log(data);
      }
    });

这是一个项目中不存在的url,它也会报这个错。当然如果确实参数转化设置出现了错误,也是会报这个错。

其他令人意外的报错
Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'DELETE' not supported
单看报错你一定觉得是服务器本身不支持delete请求类型,或者是后台接受方法设置为了别的类型,比如post,但实际上我只是用delete请求了一个不存在的url。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值