溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用SpringBoot項目配置Swagger接口api搭建REST

發布時間:2021-06-28 15:34:03 來源:億速云 閱讀:299 作者:chen 欄目:編程語言

這篇文章主要介紹“怎么用SpringBoot項目配置Swagger接口api搭建REST”,在日常操作中,相信很多人在怎么用SpringBoot項目配置Swagger接口api搭建REST問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用SpringBoot項目配置Swagger接口api搭建REST”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

一、簡述
開發前后端分離架構的項目,往往調試后端Web接口需要用到POSTMAN工具。雖然POSTMAN工具的功能非常強大,但是請求參數很多的情況下,我們手寫這些參數和數據還是非常麻煩的。因此我們需要一個調試后端Web接口更加簡便的方法。恰好Swagger提供了RESTAPI調用方式,我們不需要借助任何工具的情況下,訪問Swagger頁面,就可以對Web接口進行調用和調試,這種調試方式的效率要遠超POSTMAN軟件。

二、pom.xml中導入Swagger的依賴

<dependency>
	<groupId>io.springfox</groupId>
	<artifactId>springfox-swagger2</artifactId>
	<version>2.9.2</version>
</dependency>
<dependency>
	<groupId>io.springfox</groupId>
	<artifactId>springfox-swagger-ui</artifactId>
	<version>2.9.2</version>
</dependency>

三、創建Swagger的配置類

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    //java項目www.fhadmin.org
    @Bean
    public Docket createRestApi() {
        Docket docket = new Docket(DocumentationType.SWAGGER_2);

        // ApiInfoBuilder 用于在Swagger界面上添加各種信息
        ApiInfoBuilder builder = new ApiInfoBuilder();
        builder.title("XXXX系統");
        ApiInfo apiInfo = builder.build();
        docket.apiInfo(apiInfo);

        // ApiSelectorBuilder 用來設置哪些類中的方法會生成到REST API中
        ApiSelectorBuilder selectorBuilder = docket.select();
        selectorBuilder.paths(PathSelectors.any()); //所有包下的類
        //使用@ApiOperation的方法會被提取到REST API中
        selectorBuilder.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class));
        docket = selectorBuilder.build();
        /*
         * 下面的語句是開啟對JWT的支持,當用戶用Swagger調用受JWT認證保護的方法,
         * 必須要先提交參數(例如令牌)
         */
        //存儲用戶必須提交的參數
        List<ApiKey> apikey = new ArrayList();
        //規定用戶需要輸入什么參數
        apikey.add(new ApiKey("token", "token", "header"));
        docket.securitySchemes(apikey);

        //如果用戶JWT認證通過,則在Swagger中全局有效
        AuthorizationScope scope = new AuthorizationScope("global", "accessEverything");
        AuthorizationScope[] scopeArray = {scope};
        //存儲令牌和作用域
        SecurityReference reference = new SecurityReference("token", scopeArray);
        List refList = new ArrayList();
        refList.add(reference);
        SecurityContext context = SecurityContext.builder().securityReferences(refList).build();
        List cxtList = new ArrayList();
        cxtList.add(context);
        docket.securityContexts(cxtList);

        return docket;
    }
}

四、測試Web接口

package com.gaoyang.emos.wx.controller;
import com.gaoyang.emos.wx.common.util.ResponseResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


//java項目www.fhadmin.org
@RestController
@RequestMapping("/test")
@Api("測試Web接口")
public class TestController {
    @RequestMapping("testSwagger")
    @ApiOperation("測試Swagger配置")
    public ResponseResult testSwagger(){
        return ResponseResult.error(200,"OK");
    }
}

五、訪問swagger-ui.html頁面
注意:還需要添加在啟動類中添加 @EnableSwagger2 注解,,否則會出線,頁面加載失敗情況!

啟動項目之后,訪問: http://localhost:8080/emos-wx-api/swagger-ui.html

到此,關于“怎么用SpringBoot項目配置Swagger接口api搭建REST”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女