@PostMapping
public void insertPerson(@RequestBody Person person) {
personService.addPerson(person);
}
@PostMapping
public void insertPeople(@RequestBody List<Person> people) {
personService.addPeople(people);
}
我希望能够根据传入的 JSON 格式调用多个 POST 方法(我为此使用邮递员)。例如,在上面的代码中,如果我只传入一个 Person 对象,我想调用第一个方法,但如果我传入一个 Person 对象列表,我想调用第二个方法。
有没有简单的方法解决这个问题,或者我需要想出一些变通方法来检查 JSON 格式,然后根据格式调用 personService.addPerson 或 personService.addPeople?
同时运行两者会导致错误,这是可以理解的,我已经分别检查了每个方法,以确保它们自己工作。
我是 SpringBoot/RestAPI 的新手,所以如果有人对我可以用来更好地学习的资源有任何提示/建议,我将不胜感激!
谢谢!
不,你不能那样做。这些方法必须有不同的路径,例如
@PostMapping("/people")
public void insertPeople(@RequestBody List<Person> people) {
personService.addPeople(people);
}
@PostMapping("/person")
public void insertPerson(@RequestBody Person person) {
personService.addPerson(person);
}