我可以用 rest api 添加多个 POST 方法吗?

问题描述 投票:0回答:1
@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 的新手,所以如果有人对我可以用来更好地学习的资源有任何提示/建议,我将不胜感激!

谢谢!

java json spring-boot rest post
1个回答
0
投票

不,你不能那样做。这些方法必须有不同的路径,例如

@PostMapping("/people")
    public void insertPeople(@RequestBody List<Person> people) {
        personService.addPeople(people);
    }

@PostMapping("/person")
    public void insertPerson(@RequestBody Person person) {
        personService.addPerson(person);
    }
© www.soinside.com 2019 - 2024. All rights reserved.