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

在Swagger中记录Map的可能值

左丘弘致
2023-03-14

我有一个JAX-RS方法,它采用Map来促进部分更新。

   @POST
   @Consumes(MediaType.APPLICATION_JSON)
   @Produces(MediaType.APPLICATION_JSON)
   @Path("/{id}/edit")
   public Response edit(HashMap<String, Object> data)

我不能使用补丁,说来话长。我需要记录客户端可以发送哪些参数,以便他们可以在昂首阔步的UI中看到它们。一种方法是使用@ApiInplityParam

@ApiImplicitParams({
    @ApiImplicitParam(name = "payload", value = "payload", required = true, dataType = "com.me.PartialUpdatePerson", paramType = "body"),
})

这是一个不错的工作。PartialUpdatePerson是一个包含允许发送的各种参数的类。

问题是在swagger UI中,它仍然用地图显示我的身体。样本值为:

{
  "additionalProp1": {},
  "additionalProp2": {},
  "additionalProp3": {}
}

以及有效载荷。

有没有,我可以告诉炫耀,不显示这个?即从文档的角度忽略HashMap数据?我没有使用Spring,所以@ApiIgnore是不可能的。

谢谢

共有1个答案

宦高岑
2023-03-14
public Response edit(@ApiParam(hidden = true) HashMap<String, Object> data)
 类似资料:
  • 在我复习的问题中,我很难理解概率假设。 鉴于: 数据集中的每条记录都有一个唯一的事务id号(TXNID) TXNID之间的增量变化可根据事务时间预测(具体方法与问题无关) 因为增量变化是可预测的,所以我们可以确定两个连续TXNID之间是否缺少记录。具体来说,如果两个连续TXNID之间的差异大于预测的增量变化,则至少有一条记录丢失 两个TXNID之间的增量始终是一个介于1和20(含)之间的整数。 任

  • 在尝试获取allowableValues标记的枚举值时,我遇到了以下错误。 批注属性apimodelProperty.AllowAbleValues的值必须是常量表达式 我想做的是: 我有可能做我想做的事吗?我知道在我的API中只公开枚举是可能的,然后swagger会自动识别允许的值,但是需要将有问题的字段公开为字符串,即使我们的内部逻辑将其作为枚举。 提前感谢您的帮助!

  • 在记录API时,有没有办法提供可能值的列表?类似于这样:

  • 我已经将SpringFox依赖项添加到我的Spring Boot项目中,当我打开swagger-ui.html页面时,我可以看到我自己创建的RestControllers的文档,我确实看到了以下文档: 基本错误控制器 默认值 null 如何向default/loginendpoint添加文档?

  • 这个问题显然可以通过将整个webapp移动到非根上下文路径来解决。但是,我不能走这条路由,因为客户端已经知道并使用它的某些endpoint。 如何让springfox和swagger在这种情况下工作呢?

  • 使用 ORM,我想做一个 POST 请求,让一些具有值的字段,这些字段将在数据库中转换为那里指定的默认值。 问题是OpenAPI(Swagger)文档忽略默认的,并且默认情况下仍然提示。 在我们找到的文档中的OpenAPI模式示例(请求正文)中: 这是不行的,因为我指定默认值为 ,所以我期望这样做: 这会将一个 传递给 ,最后将在数据库中解析为默认值(即新生成的