本人在做前后端分离的音乐网页中,尝试在管理页中添加新歌手时提示了空指针异常,请问要怎么解决
@ResponseBody
@RequestMapping(value = "/add",method = RequestMethod.POST)
public JSONObject addSinger(HttpServletRequest request){
JSONObject jsonObject = new JSONObject();
String name = request.getParameter("name").trim();
String sex = request.getParameter("sex").trim();
String pic = request.getParameter("pic").trim();
String birthday = request.getParameter("birthday").trim();
String location = request.getParameter("location").trim();
String introductionParam = request.getParameter("introduction");
System.out.println("Introduction parameter value: " + introductionParam);
String introduction = (introductionParam != null) ? introductionParam.trim() : "";
System.out.println("Introduction after trim: " + introduction);
//将生日转换为Date格式
Singer singer = new Singer();
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date birthDate = new Date();
try {
birthDate = dateFormat.parse(birthday);
}catch (Exception e){
e.printStackTrace();
}
singer.setName(name);
singer.setSex(new Byte(sex));
singer.setPic(pic);
singer.setBirthday(birthDate);
singer.setLocation(location);
singer.setIntroduction(introduction);
boolean res = singerService.insert(singer);
if(res){
jsonObject.put(Consts.CODE,1);
jsonObject.put(Consts.MSG,"添加成功");
return jsonObject;
}else{
jsonObject.put(Consts.CODE, 0);
jsonObject.put(Consts.MSG,"添加失败");
return jsonObject;
}
}
2023-11-23 16:17:02.580 ERROR 2360 --- [nio-8888-exec-5] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause
java.lang.NullPointerException: null
at com.javassm.music.controller.SingerController.addSinger(SingerController.java:33) ~[classes/:na]
33为String name = request.getParameter("name").trim();
addSinger(){
let d = this.registerForm.birthday;
let datetime = d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();
let params = new URLSearchParams();
params.append('name',this.registerForm.name);
params.append('sex',this.registerForm.sex);
params.append('pic','/img/singerPic/abc.jpg');
params.append('birthday',datetime);
params.append('location',this.registerForm.location);
params.append('introduction',this.registerForm.introduction);
setSinger({params})
.then(res => {
if(res.code == 1){
this.getData()
this.registerForm = {}
this.notify("添加成功","success")
}else{
this.notify("添加失败","error")
}
})
.catch(err =>{
console.log(err);
});
this.centerDialogVisible=false;
},
api中所调用的方法
export const setSinger = (params) => post('singer/add', params);
若需要更多代码我可以提供,或者远程控制也行