我是在编辑按钮的时候出现500错误,出现500错误一般都是程序逻辑出现了问题。
在确认前端文件正确无误后,我们走controller-service-mapper路线,查找对应模块功能代码。最终发现,导致500错误的原因是service文件的loadById方法没有实现,返回的是一个空值。这是由于接口和实现类存在不一致,实现类当中提示要add unimplement method,所以自动生成了一个实现方法模板,而没有实现。这一点比较坑,很容易忽视。总之,按照controller-service-mapper路线逐个排查,就一定能够发现错误。
改之前:
/**
* 根据ID查询
*
* @param id
* @return
*/
@Override
public Score loadById(String id) {
return null;
}
改之后:
/**
* 根据ID查询
*
* @param id
* @return
*/
@Override
public Score loadById(String id) {
ScoreExample example = new ScoreExample();
example.createCriteria().andIdEqualTo(id);
List<Score> scoreList = this.scoreMapper.selectByExample(example);
return scoreList.isEmpty() ? null : scoreList.get(0);
}