Springboot整合Swagger2以及常用注解說明

引入pom.xml依賴

<!-- swagger2 配置 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.4.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.4.0</version>
        </dependency>
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>swagger-bootstrap-ui</artifactId>
            <version>1.6</version>
        </dependency>

配置

在config包下面創(chuàng)建Swagger2Config類

@Configuration
@EnableSwagger2
public class Swagger2 {

   

    // 配置Swagger核心配置 docket
    @Bean
    public Docket createRestApi(){
        return new Docket(DocumentationType.SWAGGER_2) //指定Api類型為Swagger2
                .apiInfo(apiInfo())                     //用于定義api文檔的匯總信息
                .select()
                .apis(RequestHandlerSelectors.
                        basePackage("com.xxxx.controller")) //指定controller包
                .paths(PathSelectors.any())  //所有controller
                .build();
    }

    private ApiInfo apiInfo(){
        return new ApiInfoBuilder()
                .title("XXXXX平臺接口api") //文檔頁標題
                .contact(new Contact("聯(lián)系人",
                        "http://rouji4.top",
                        "552004519@qq.com")) //聯(lián)系人信息
                .description("專為XXXXX提供的API文檔") //詳細信息
                .version("1.0.1") //版本信息
                .termsOfServiceUrl("http://rouji4.top") //網(wǎng)站信息
                .build();
    }
}

文檔訪問地址

兩種不同的展示風格

  1. //http://localhost:8080/swagger-ui.html
  2. //http://localhost:8080/doc.html

注解

  • @ApiIgnore 忽略某個類下的接口,讓其不在文檔中展示
@ApiIgnore
@RestController
public class HelloController {

    final static Logger logger= LoggerFactory.getLogger(HelloController.class);

    @GetMapping("hello")
    public Object Hello(){
        logger.info("info:hello!");
        return "hello world";
    }
}
  • @Api 描述對該控制類所包含的功能
@Api(value = "注冊登陸", tags = {"用于注冊登陸的相關(guān)接口"})
@RestController
@RequestMapping("passport")
public class PassportController extends BaseController {}

  • @ApiOperation 對某個接口的描述
@ApiOperation(value = "用戶注冊", notes = "用戶注冊", httpMethod = "POST")
    @PostMapping("regist")
    public IMOOCJSONResult regist(@RequestBody UserBO userBO,
                                  HttpServletRequest request,
                                  HttpServletResponse response) {}
  • @ApiModel 可用于對請求實體的描述
ApiModel(value = "用戶對象BO",description = "從客戶端,用戶傳入的數(shù)據(jù)封裝在此entity中")
public class UserBO {

    @ApiModelProperty(value = "用戶名",name = "username",example = "imooc",required = true)
    private String username;
    @ApiModelProperty(value = "密碼",name = "password",example = "123456",required = true)
    private String password;
    @ApiModelProperty(value = "確認密碼",name = "confirmPassword",example = "123456",required = false)
    private String confirmPassword;

......略
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容