使用Spring boot开发RestFul 风格项目PUT/DELETE方法不起作用

时间:2023-02-05 21:20:02

在使用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("");
s.setName("google");
s.setAge();
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 接口修改方法相同