当前位置: 首页 > 知识库问答 >
问题:

使用spring在Swagger请求体中隐藏类属性

戚英逸
2023-03-14

我有一个类用户

public class User {

Integer id;
String  name;
String  department;

.... }

我的控制器

@RestController
@RequestMapping("/user")
public class userResource {

@Autowired
UserRepository userRepository;

@Autowired
UserService userService;

@PostMapping(value = "/")
public ResponseEntity<StatusResponse> createUser(
         @RequestBody   User user) {
.....}

它大摇大摆地显示

{
"department": "string",
"id": 0,
"name": "string"
 }

共有1个答案

公西光华
2023-03-14
 public class User {
     Integer id;
     String  name;

     @JsonIgnore
     String  department;
 }
 类似资料:
  • 我有一个非常大的用户,有许多字段,如下所示: 我定义了如下验证方法: 当我生成swagger时,它会在请求模型中显示Userdto的所有属性,但我只想显示用户名/密码,并想隐藏其他属性。但是在createUser方法的同一点上,我想显示UserDto的所有属性。 我试图找到解决方案,但没有得到任何,这可能吗?请建议我一些方法来实现这一点。 提前谢谢。

  • 而在帖子上,我应该看到的只是: 尝试添加:@apimodelproperty(readonly=true)。但那没用。

  • 我的问题是,我的env的Spring Boot执行器endpoint实际上用如下开头替换了一些属性: 我不知道为什么。我的申请表中没有任何暗示他应该把它藏起来。我想有一些启发式方法可以根据属性名隐藏它。 有什么办法可以避免掩蔽吗?

  • 对于通过传递到操作中的模型,我喜欢使其属性不可变

  • 我需要在爪哇中使用摇摆不定(YAML文件)来验证传入的REST请求。所以任何人都可以帮我这个。提前致谢。

  • 我有一个用于POST操作的大摇大摆的Spring MVCendpoint。该操作采用一个路径参数和一个(json)请求实体。当大摇大摆的UI生成时,它会自动创建请求正文数据类型的示例值。这个例子是基于应用程序中的一个java实体。该实体用于一些其他操作,但是对于POST操作,我不希望示例中暴露的一些实体字段。是否可以在不修改现有java模型的情况下修改这个例子?例如,是否可以在下面的示例中排除。