首页 > 解决方案 > Swagger (OpenAPI 3.0) 仅在 Post 上隐藏字段,而不是在 Put 上

问题描述

我想在我的 REST API 中实现 2 个端点:

@PostMapping("/example")
public ObjectResponse postObject(@RequestBody Example example){... //Add new Example to DB}

@PutMapping("/example")
public ObjectResponse postObject(@RequestBody Example example){...//Update existing Example}

我的示例可能如下所示:

public class Example{
   @Id
   @Hidden
   private String id;
   private String somethingCool;
}

我想隐藏 ID,以便使用 Post 的用户不会向我发送带有 ID 的请求。我想让它由我的 mongoDB 生成。

在另一个用例中,在 Put 期间必须发送一个 ID 以识别应该更新的对象。但是我的 Swagger 3.0 上的 ID 字段也隐藏在这里。

我怎样才能在我的帖子上隐藏它,但在我的 Put 上显示它?

非常感谢!

标签: javaspringswaggeropenapi

解决方案


推荐阅读