Swagger学习⑥——@Hidden注解

介绍

@Hidden 注解是 Swagger Core 库的一部分,属于 Swagger/OpenAPI 3.x。它用于在生成 OpenAPI 文档时隐藏特定的 API 操作(方法)或类。

作用

@Hidden 注解的主要作用是标记某个方法或类,使其不会出现在生成的 OpenAPI 文档中。这在以下场景中非常有用:

  • 某些内部接口或方法不希望暴露给外部用户。

  • 某些接口尚未完成或处于测试阶段,暂时不需要公开。

  • 某些接口仅用于内部调试,不需要对外公开。

使用范围

@Hidden 注解可以用于以下位置:

  1. 类级别:隐藏整个控制器类,该类中的所有方法都不会出现在 OpenAPI 文档中。

  2. 方法级别:隐藏特定的方法,该方法不会出现在 OpenAPI 文档中。

源代码

package io.swagger.v3.oas.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.METHOD, ElementType.TYPE, ElementType.FIELD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Hidden {

}

示例代码

隐藏整个控制器类
import io.swagger.v3.oas.annotations.Hidden;
import org.springframework.web.bind.annotation.RestController;

// 隐藏整个控制器类
@Hidden 
@RestController
public class DemoInternalController {

    @GetMapping("/internalDemo")
    public String internalDemoMethod() {
        return "This is an internal Demo method.";
    }

}
隐藏特定方法
import io.swagger.v3.oas.annotations.Hidden;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class DemoController {

    @GetMapping("/demos")
    public String getDemos() {
        return "List of Demo";
    }

    // 隐藏该方法
    @Hidden 
    @GetMapping("/internal/demo")
    public String getInternalDemos() {
        return "Internal list of demos";
    }
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值