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

如何从Swagger UI(OpenAPI 3,Spring Boot)中的“模式”部分隐藏某些模式

林魁
2023-03-14

我正在使用Springdoc来记录我在Spring Boot中制作的REST API。我需要从Swagger UI的模式部分隐藏一些模型/模式,这些模型/模式只在应用编程接口内部使用,所以没有必要在模式部分显示它们。

这是我试图隐藏的模型之一:

@Getter
@Setter
@EqualsAndHashCode(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table
public class EventRole extends AbstractEntity implements Serializable {
    @Column(nullable = false, length = 25)
    private String descriptor;
}

上图所示模型的超类:

@Data
@RequiredArgsConstructor
@SuperBuilder
@MappedSuperclass
public abstract class AbstractEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @CreationTimestamp
    @Column(nullable = false, updatable = false)
    private LocalDateTime creationDate;

    @UpdateTimestamp
    @Column(nullable = false)
    private LocalDateTime modificationDate;
}

这些示例中的大多数注释都来自JPA或Lombok。需要明确的是:AbstractEntity在Schemas部分不可见–我在这里包括它只是为了以防万一。

到目前为止,我已经尝试过:

  • 对我要隐藏的类使用@Hidden注释
  • 在这些类上使用@Schema(hidden=true)
  • 添加SpringDocUtils。getConfig()。addAnnotationsToIgnore(EventRole.class、AbstractEntity.class) 到我的OpenAPI bean配置

我还测试了控制器方法上的@Hidden,它工作正常。@模式(隐藏=true)正确隐藏模型属性。不出所料,它们都没有隐藏整个模型。我是否使用了错误的注释,或者可能有其他原因导致这不起作用?我是OpenAPI 3. x和Springdoc的新手,很可能我误解了什么。


共有1个答案

姬弘文
2023-03-14

我花了几个小时才找到解决办法

在摘要设置中使用ignoredParameterTypes

这个有效!

Docket()...
.ignoredParameterTypes(ModleName.class)
 类似资料:
  • 我读了这里的帖子,我的Bootstrap网站,并且疯狂地搜索--但是找不到我确信是一个简单的答案。 我有一个从link_to帮助器打开的引导模式,如下所示: 在我的操作中,我的代码创建然后传递到。在中,我有一些错误处理代码(ruby和javascript的混合)。如果一切顺利,我想关闭模态。 这就是我遇到麻烦的地方。当一切顺利时,我似乎不能放弃模态。 我尝试了,但没有效果。我还尝试过,这会使模态消

  • 问题内容: 我开发了一个简单的演示应用程序,其中包含启动屏幕,地图和一些常规屏幕。 我在顶部有一个包含徽标的操作栏。在我的手机(Galaxy s1 I9000 V2.3)上一切看起来都不错,但是当我在Galaxy s2 v4上对其进行测试时,动作栏也会出现在初始屏幕和地图屏幕中。 spalsh和map活动甚至都没有从ActionBarActivity继承,所以这怎么可能?我如何使它消失? 表现:

  • 我有一个Spring启动项目,其中我集成了swagger,用于API文档。 现在的问题是默认情况下它显示模型部分,这是一个安全问题。我试过了,但无法隐藏它。也在这里通过了这个链接如何在Swagger UI中隐藏模型部分? 但在这方面,他们也引用了一些索引.html文件,但我只有后端,没有前端。那么如何实现同样的目标,请帮忙。 谢谢

  • 我开发了一个应用程序,应该在SO用户的帮助下在原始图像的顶部显示框架...然而,我有一个小问题...问题是原始图像的某些部分隐藏在框架下...我的问题是为什么会发生这种情况,我如何修复它?...我希望图像适合框架...这样原始图像就会出现在框架下...我是Android新手,所以任何关于createScaledBitmap的代码帮助以及解释都是值得赞赏的... 以下是我的代码。。 活动_main。

  • 我没想到我会在这里结束,但经过大量的谷歌和StackOverflow搜索,我在这里。

  • 问题内容: 是否可以将某些字段排除在json字符串中? 这是一些伪代码 我想排除privateProperty1和privateproperty2出现在json字符串中 所以我想,我可以使用stringify replacer函数 并在串 但是在jsonString中,我仍然将其视为 我想在其中没有privateproperties的字符串。 问题答案: 在Mozilla的文档说回报(而不是):