在使用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 接口修改方法相同