我的springboot应用程序有一个@RestController,它接受一个POJO类作为参数。
@GetMapping(path="/")
public void sayHello(Person person) {
System.out.println(person);
}这是Person类的定义,它只是一个POJO。
public class Person {
private String firstName;
private String lastName;
private int age;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person [firstName=" + firstName + ", lastName=" + lastName + ", age=" + age + "]";
}}
这就是springdoc-ui如何解释它,以便在UI中显示参数。

我没有在控制器中使用@RequestBody,但是springdoc假定输入是JSON body的形式。我打算将其作为查询参数,如下所示

有趣的是,如果我将swagger实现更改为springfox,POJO的每个字段在默认情况下都被解释为UI中的单个参数。最后一个屏幕截图是使用springfox实现的。如何获得与springdoc相同的行为?
发布于 2021-02-15 16:14:12
使用@ParameterObject可以解决这个问题。
@GetMapping(path="/")
public void sayHello(@ParameterObject Person person) {
System.out.println(person);
}在这里找到了解决方案:
https://stackoverflow.com/questions/66203786
复制相似问题