Postman+Springboot+POST取值为null的解决方法

今天是复工的第四天,在调试年前项目时发现,图片上传功能出现异常,考虑到项目加了拦截器,怀疑是拦截器设置为题,查看代码后,确实没有设置,设置方法为

interceptorRegistration.excludePathPatterns("不想被拦截的URI路径");

添加后测试,问题依旧,图片可以接收到,但是传的值未接收到,尝试添加@RequestPart、 @RequestParam、@PathVariable问题依旧。
原来接收参数的方法为

request.getParameter("参数名");

借用Postman进行调试,Postman截图:
Postman截图
@RequestPart和@RequestParam区别
权威分析@RequestParam和@RequestPart 的区别(官方文档)

方法在添加注解后,均会抛出异常
添加注解后抛出异常
有资料显示从request中只能获取一次post方式提交的参数所以测试拦截器,是否存在取值问题。

在测试拦截器功能时,发现了个两个拦截器,
两个拦截器
ResourceUrlProviderExposingInterceptortConversionServiceExposingInterceptor进入源码后发现,跟我 接收不到值没有关系。

再次查询资料multipart/form-data post 方法提交表单,后台获取不到数据,debug,发现billId在MultipartHttpServletRequest中可以取到值
MultipartHttpServletRequest包含所传的值
虽修改取方式为

String billId = multipartRequest.getParameter("billId");

经过测试,问题解决。

启动设置如下:

@EnableAutoConfiguration(exclude = {MultipartAutoConfiguration.class})
public class BootApplication extends SpringBootServletInitializer {
	public static void main(String[] args) {
		SpringApplication.run(BootApplication.class, args);
	}
}

yml设置如下:

spring:
	servlet:
	    multipart:
	      max-request-size: 10MB
	      max-file-size: 10MB
	      enabled: true`

对于为什么使用注解会抛异常的问题,还是没有思路,希望有哪位大神能指点一二。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值