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

Swagger:从参数示例值中删除类属性

刘和玉
2023-03-14

我正在使用Swagger来记录REST API。

我正在上这样的课:

public class Source{ 
    private String url;
    private String category;
    private String label;
    ... 
}

我目前正在使用@Api的含义参数设置dataType为Source.class,但我有多个POST请求,将JSON作为主体参数,比方说,其中的一个变量,例如:

{"label": "labelA"}

由于前面设置了dataType,Swagger UI显示的示例值是一个完整的Source。类,类似于:

{
    "url": "string",
    "category": "string",
    "label": "string",
    ...
}

我能以某种方式为这些请求的每个请求切掉Swagger UI显示的示例值吗?我的意思是getSourceFromUrl()请求应该得到一个仅包含url字段的JSON,并且示例应该显示这一点,而不是完整Source.classJSON。

提前感谢大家!

更新

我正在使用 JAX-RS。如果需要,请向我询问更多意见。

共有2个答案

颛孙越
2023-03-14

暂时,你不能做这样的事情。您必须为每种情况创建一个不同的类。

参见 swagger-core 的 github:https://github.com/swagger-api/swagger-core/issues/1863#issuecomment-237339565

漆雕皓轩
2023-03-14

如果您使用的是spingfox-swagger2,则有一个注释@ApiModel属性可以执行此操作。

例:

@ApiModelProperty(required = false, hidden = true)
private String label;
 类似资料:
  • 我想在我的Swagger-ui界面上修改数据类型下的示例值。目前它包含以下默认值(由Swagger生成): 我想指定实数值,而不是“空”值。PS:我用带注释的spring boot:@ API operation,...

  • 我有一个类,其中有一个属性,即 此代码生成的示例值如下所示: 我对swagger jar的maven依赖是: 更新此问题的github票据

  • 问题内容: 我想删除存储在属性文件中的键和值。我怎样才能做到这一点???? 问题答案: 首先使用API。 然后,您可以使用该方法。 最后将其保存到文件中。 也可以看看: 属性教程

  • 我正在使用Swagger OpenAPI规范工具,我在其中一个定义中有一个字符串数组属性,如下所示: 我的API生成JSON结果,因此对于上述对象,以下结果出现在响应中: 尝试逗号分隔字符串,如下所示: 预期结果为: 但是编辑器显示错误。"缩进错误" 我想给示例标签赋予多个值,有什么办法吗? 更新 下面的用户Helen给出了正确答案,我有缩进问题,因此有嵌套数组(2d数组) 正确方式: 我的方式(

  • 我制作了第一个swagger api规范,dredd给出了错误: 因此,我为参数提供了默认值,现在收到来自dredd的警告: 我想在规范中给出示例ID,但我无法在Swagger规范中找到如何。 我的狂妄自大:

  • 我想弄清楚如何从我的数组中删除nan值。我的数组看起来像这样: 如何从中删除值?