angular - 从 Angular 前端接收请求时,Spring Boot 应用程序中的某些端点无法正常工作
问题描述
我有以下终点:
@PutMapping(path = "/like/{id}")
public void likeQuestion(@PathVariable("id") String id, @Valid @NotNull @RequestBody Student student) {
logger.info(id, student);
questionService.likeQuestion(id, student);
}
当我尝试从 Angular 前端发送请求时,这不起作用:
likeQuestion(id: string, student: Student) {
console.log(id, student);
return this.http.put(
environment.baseUrl + '/api/questions/like/' + id,
student
);
}
控制台仍然注销id
and student
,但是,端点没有被记录。
我在同一个文件中有另一个端点可以工作:
@PutMapping(path = "/edit-comment/{id}")
public void editComment(@PathVariable("id") String id, @Valid @NotNull @RequestBody Comment comment) {
logger.info("Editing comment");
questionService.editComment(id, comment);
}
这里可能存在什么潜在问题?谢谢你。控制器的请求映射是@RequestMapping("api/questions")
,它与前端请求 uri 匹配,所以我不知道可能是什么问题。
我尝试检查开发工具中的网络选项卡,但找不到任何请求...
解决方案
也许学生 DTO 字段无效,并且 @valid 或 @notNull 在控制器日志之前触发