报错信息:前端同时新增好几个数据库时报错,后台使用Bo接的
java.lang.IllegalArgumentException: Invalid character found in the request target [/productlist/add?memberPriceList[]=%7B%22memberLevelName%22:%22%E9%BB%84%E9%87%91%E4%BC%9A%E5%91%98%22,%22memberLevelId%22:%7B%22id%22:1,%22name%22:%22%E9%BB%84%E9%87%91%E4%BC%9A%E5%91%98%22,%22growthPoint%22:1000,%22defaultStatus%22:0,%22freeFreightPoint%22:199,%22commentGrowthPoint%22:5,%22priviledgeFreeFreight%22:1,%22priviledgeSignIn%22:1,%22priviledgeComment%22:1,%22priviledgePromotion%22:1,%22priviledgeMemberPrice%22:1,%22priviledgeBirthday%22:1,%22note%22:null%7D,%22memberPrice%22:%2245%22%7D&memberPriceList[]=%7B%22memberLevelName%22:%22%E7%99%BD%E9%87%91%E4%BC%9A%E5%91%98%22,%22memberLevelId%22:%7B%22id%22:2,%22name%22:%22%E7%99%BD%E9%87%91%E4%BC%9A%E5%91%98%22,%22growthPoint%22:5000,%22defaultStatus%22:0,%22freeFreightPoint%22:99,%22commentGrowthPoint%22:10,%22priviledgeFreeFreight%22:1,%22priviledgeSignIn%22:1,%22priviledgeComment%22:1,%22priviledgePromotion%22:1,%22priviledgeMemberPrice%22:1,%22priviledgeBirthday%22:1,%22note%22:null%7D,%22memberPrice%22:%22543%22%7D&memberPriceList[]=%7B%22memberLevelName%22:%22%E9%92%BB%E7%9F%B3%E4%BC%9A%E5%91%98%22,%22memberLevelId%22:%7B%22id%22:3,%22name%22:%22%E9%92%BB%E7%9F%B3%E4%BC%9A%E5%91%98%22,%22growthPoint%22:15000,%22defaultStatus%22:0,%22freeFreightPoint%22:69,%22commentGrowthPoint%22:15,%22priviledgeFreeFreight%22:1,%22priviledgeSignIn%22:1,%22priviledgeComment%22:1,%22priviledgePromotion%22:1,%22priviledgeMemberPrice%22:1,%22priviledgeBirthday%22:1,%22note%22:null%7D,%22memberPrice%22:%2243%22%7D&previewStatus=0&publishStatus=0&newStatus=0&recommandStatus=0&promotionType=2]. The valid characters are defined in RFC 7230 and RFC 3986
at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:486) ~[tomcat-embed-core-9.0.38.jar:9.0.38]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:261) ~[tomcat-embed-core-9.0.38.jar:9.0.38]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.38.jar:9.0.38]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) [tomcat-embed-core-9.0.38.jar:9.0.38]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590) [tomcat-embed-core-9.0.38.jar:9.0.38]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.38.jar:9.0.38]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_201]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_201]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.38.jar:9.0.38]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_201]
前端传参的问题:打印出的格式
报错位置:发起请求传参问题
//错误代码:
//修改或新增
export const addOrUpdate = (query) => {
return request({
url:'http://localhost:8080/productlist/add',
method: 'post',
params: query
});
};
解决方案:将params改为data就可以解决
//修改或新增
export const addOrUpdate = (query) => {
return request({
url:'http://localhost:8080/productlist/add',
method: 'post',
data: query
});
};
后台接值:
//新增或修改标签数据
@RequestMapping("add")
public ResultObj addOrUpdate(@RequestBody ProductBo product){
return ResultObj.success();
}