0

对于我的 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" : ""
}

@Schemaannotation 仅提供基于 READ/WRITE 设置访问模式。这里两种访问模式都是 WRITE 但不同的是 Http 方法。谁能告诉我如何使它成为可能。我如何在类中注释我的属性,User以便基于 HttpMethod 隐藏和显示它们。

4

0 回答 0