Angular向SpringBoot后端发送带对象的POST请求报404错误求助
Angular调用SpringBoot POST接口404问题解决方案
排查及修复步骤
- 确认后端服务可用性
先验证SpringBoot服务正常启动在8080端口,无端口冲突,启动日志无异常。使用接口测试工具直接向http://localhost:8080/donators发送POST请求,传入符合格式的JSON参数,若直接调用也返回404则问题出在后端配置。 - 修正请求路径前缀
检查SpringBoot配置文件(application.properties/application.yml)是否配置了server.servlet.context-path属性,例如配置值为/api时,实际接口地址为http://localhost:8080/api/donators,需要同步修改Angular服务中的watKrewDonationUrl地址,补全对应前缀。
同时检查DonatorController类上是否添加了父路径@RequestMapping注解,若存在父路径也需要同步补全到前端请求地址中。 - 添加跨域配置
Angular默认运行在4200端口,跨域请求未被后端放行时部分场景会返回404状态码。可在DonatorController类上添加@CrossOrigin(origins = "*")注解临时放行跨域请求,生产环境建议配置指定域名的跨域规则。 - 校验全局请求规则
检查SpringBoot是否配置了全局请求后缀匹配规则(例如仅支持*.do/*.action后缀的请求),如果有相关配置需要调整规则或者前端请求地址补全对应后缀。 - 前端请求校验
打开浏览器F12开发者工具的网络面板,提交表单后查看实际发出的请求:确认请求方法为POST、请求路径和后端接口匹配无拼写错误。 - 参数匹配校验
确认SpringBoot端的DonatorDTO类字段名、类型和Angular端的DonatorDTO完全对应,且包含完整的get/set方法,避免参数反序列化失败被全局异常处理器映射为404状态码。
内容的提问来源于stack exchange,提问作者giluwilu7
相关产品推荐
相关产品推荐

