对于我的 spring boot 应用程序,我有一个 User 类:
public class User{
private String id;
private String name;
private String email;
private String loginId;
}
我有一个带有 PUT 和 POST 方法的控制器:
@PostMapping
public ResponseEntity createUser(@RequestBody User user){
...
}
@GetMapping
public ResponseEntity updateUser(@RequestBody User user){
...
}
当我使用 OpenAPI 3 生成文档时,所有四个参数都显示在为两个 API 生成的有效负载中。但我想根据调用的方法隐藏参数。
对于 POST,我希望正文为:
{
"name" : "",
"email" : "",
"loginId: : ""
}
对于 PUT,我希望身体为:
{
"id" : "",
"name" : "",
"email" : ""
}
@Schema
annotation 仅提供基于 READ/WRITE 设置访问模式。这里两种访问模式都是 WRITE 但不同的是 Http 方法。谁能告诉我如何使它成为可能。我如何在类中注释我的属性,User
以便基于 HttpMethod 隐藏和显示它们。