我正在创建一个用于学习游戏的教育系统,并且我将android作为前端,将Spring boot作为后端,并且正在创建服务来创建课程,并且从前端获取数据通过此链接http://localhost:8090/addcourse/{teacherID}
但是当我运行程序时,它给我一个错误,我不知道该怎么解决

错误消息:错误解析模板“ addcourse / 2”,模板可能不存在,或者任何已配置的模板解析器都无法访问该模板

服务:

@RequestMapping(method = RequestMethod.POST, value = "/addcourse/{teacherId}")
public Map<String,String> createCourse(@RequestBody Course course, @PathVariable int teacherId) {
    Map<String,String> data = new HashMap<>();
    User  Teacher = userRep.findOne(teacherId);
    if(Teacher.getTeacherCode()=="TA123") {
        course.setUser(Teacher);
        courseRep.save(course);
        data.put("check", "true");
        Course course2 = courseRep.findByCourseName(course.getCourseName());
        data.put("ID", course2.getCourseID()+"");
        return data;
    }

    data.put("check", "false");
    return data;
}

最佳答案

您正在从控制器中返回一个Map,它不会给Spring MVC一个提示,即它应该使用哪个视图名称。因此,它从用于访问控制器的URL推断出它,在本例中为addcourse/2。可能您没有每个老师的视图(Thymeleaf模板);我想您有一个称为addcourse的Thymeleaf视图。

尝试显式返回视图名称:

return new ModelAndView("addcourse", data);


代替

return data;


"addcourse"必须更改为您的真实模板名称。

10-08 15:01