使用Spring boot开发RestFul风格项目PUT/DELETE方法不起作用
这也是rest api相对高级用法,也就是URL里面没有动词,都是用put,get,delete,post(replace),patch表示动作
在使用Spring boot 开发restful 风格的项目,put、delete方法不起作用,解决办法。
实体类Student
@Data public class Student { private String id; private String name; private int age; private String sex; @Override public String toString() { return ToStringBuilder.reflectionToString(this); } }
controller
@RestController public class GreetingController { @RequestMapping(value = "/demo1/student", method = RequestMethod.POST) public void addStudent(Student student) { System.out.println(student); System.out.println("添加成功"); } @RequestMapping(value = "/demo1/student", method = RequestMethod.PUT) public void updateStudent(Student student) { System.out.println(student); System.out.println("更新成功"); } @RequestMapping(value = "/demo1/student", method = RequestMethod.GET) public Student getAtudentById(String id) { System.out.println("接收到的的参数" + id); Stuent s = new Student(); s.setId("12"); s.setName("google"); s.setAge(12); return s; } @RequestMapping(value = "/demo1/student", method = RequestMethod.DELETE) public void delStudent(Student student) { System.out.println(student); System.out.println("删除成功"); } }
使用put 更新接口调用,参数无法传递过去。解决办法是在需要组装的参数前面添加注解 @RequestBody
修改如下:
@RequestMapping(value = "/demo1/student", method = RequestMethod.PUT) public void updateStudent(@RequestBody Student student) { System.out.println(student); System.out.println("更新成功"); }
即可成功调用。
delete 接口修改方法相同。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
2020-06-06 tomcat中SSIPrintenv.java漏洞修复
2020-06-06 Gitlab+Jenkins Pipeline+Docker+k8s+Helm自动化部署实践(干货!)
2020-06-06 让你快速入门docker的30个命令行
2020-06-06 MySQL索引的原理,B+树、聚集索引和二级索引的结构分析
2020-06-06 dockerfile编写
2020-06-06 webpack 中比较难懂的几个变量名称
2020-06-06 websocket协议全双工协议