<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></ul>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    swagger-ui

    文檔

    swagger-ui

    Swagger UI允許任何人都可以可視化API資源并與之交互,而無需任何實現邏輯。它是根據OpenAPI(以前稱為Swagger)規范自動生成的,具有可視化文檔,可簡化后端實現和客戶端使用。
    推薦度:
    導讀Swagger UI允許任何人都可以可視化API資源并與之交互,而無需任何實現邏輯。它是根據OpenAPI(以前稱為Swagger)規范自動生成的,具有可視化文檔,可簡化后端實現和客戶端使用。

    Swagger UI 簡介

    Swagger UI允許任何人都可以可視化API資源并與之交互,而無需任何實現邏輯。它是根據OpenAPI(以前稱為Swagger)規范自動生成的,具有可視化文檔,可簡化后端實現和客戶端使用。

    SwaggerUI 特點

    1、無依賴,UI可以在任何開發環境中使用,無論是本地還是在Web端中。

    2、人性化,允許最終開發人員輕松地進行交互,并嘗試API公開的每個操作,以方便使用。

    3、易于瀏覽,歸類整齊的文檔可快速查找并使用資源和端點。

    4、所有瀏覽器支持,Swagger UI 在所有主要瀏覽器中均可使用,以適應各種可能的情況。

    5、完全可定制,通過完整的源代碼訪問方式以所需方式設置和調整Swagger UI。

    6、完整的OAS支持,可視化Swagger 2.0或OAS 3.0中定義的API。

    關于swagger-ui的使用過程是怎么樣的?

    導入jar包

    
    ????????
    ????????????io.springfox
    ????????????springfox-swagger2
    ????????????2.9.2
    ????????
    ????????
    ????????????io.springfox
    ????????????springfox-swagger-ui
    ????????????2.9.2
    ????????

    編寫SwaggerConfig配置文件

    /**
    ?*/
    @EnableSwagger2
    @Configuration
    public?class?SwaggerConfig?{
    ????@Bean
    ????public?Docket?createRestApi()?{
    ????????return?new?Docket(DocumentationType.SWAGGER_2)
    ????????????????.apiInfo(apiInfo())
    ????????????????.select()
    ????????????????//為當前包路徑,控制器類包
    ????????????????.apis(RequestHandlerSelectors.basePackage("com.stu.stusystem.controller"))
    ????????????????.paths(PathSelectors.any())
    ????????????????.build();
    ????}
    ????//構建?api文檔的詳細信息函數
    ????private?ApiInfo?apiInfo()?{
    ????????return?new?ApiInfoBuilder()
    ????????????????//頁面標題
    ????????????????.title("管理系統API接口文檔")
    ????????????????//創建人
    ????????????????.contact(new?Contact("cxt",?"http://localhost",?"10******[email protected]"))
    ????????????????//版本號
    ????????????????.version("1.0")
    ????????????????//描述
    ????????????????.description("系統API描述")
    ????????????????.build();
    ????}
    }

    2)指定靜態文件地址

    在swagger文件生成后需要指定下文件存放的地方。

    /**
    ?*?設置靜態文件地址
    ?*/
    @Component
    public?class?WebConfigImpl?implements?WebMvcConfigurer?{
    ????@Override
    ????public?void?addResourceHandlers(ResourceHandlerRegistry?registry)?{
    ????????registry.addResourceHandler("/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
    ????????registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
    ????}
    }

    3)放開swagger頁面相關請求資源

    比如shiro中需要設置這幾項

    ???????filterChainDefinitionMap.put("/v2/api-docs/**",?"anon");
    ????????filterChainDefinitionMap.put("/swagger-ui.html",?"anon");
    ????????filterChainDefinitionMap.put("/swagger-resources/**",?"anon");
    ????????filterChainDefinitionMap.put("/webjars/springfox-swagger-ui/**",?"anon");

    4)關于API文檔注解

    放在Controller方法上面注解

    //?tags?表示分組,頁面中的接口進行分組
    @ApiOperation(value="接口名稱"?,notes="接口說明",?tags="接口屬于哪個分組",?httpMethod="接口請求方式")
    //?參數說明
    @ApiImplicitParams({
    ????@ApiImplicitParam(name="參數一",?value="對參數的說明",?required=true?[是否必須],?dataType="String")
    ????……
    })
    //?請求成功響應格式
    @ApiRespones({
    ????@ApiResponse(code=200,?message="請求成功",?response=AjaxResponse.class)????
    })

    放在Bean上面

    @ApiModel(value?=?"這個Bean的說明")
    @ApiModelProperty(value?=?"這個屬性的說明",?example="1,2,3")?//?example?中的值表示這個屬性都可以返回那些值

    5) swagger導出離線文檔

    Swagger文檔?->?Asciidoc文檔->?Html/pdf?文檔
    ->?Markdown文檔

    1)導入需要的jar包

    
    ????????
    ????????????io.github.swagger2markup
    ????????????swagger2markup
    ????????????1.3.1
    ????????

    2)編寫測試類

    需要在pom文件中添加Test測試類的jar支持

    ????????
    ????????????org.springframework.boot
    ????????????spring-boot-starter-test
    ????????????test
    ????????????
    ????????????????
    ????????????????????org.junit.vintage
    ????????????????????junit-vintage-engine
    ????????????????
    ????????????
    ????????
    @ExtendWith(SpringExtension.class)//@RunWith(SpringRunner.class)???//?Junit4?開發者使用這個注解@SpringBootTest(webEnvironment?=?SpringBootTest.WebEnvironment.DEFINED_PORT)public?class?ImportSwagger?{
    ????@Test
    ????public?void?generateAsciiDocs()?throws?Exception?{
    ????????Swagger2MarkupConfig?config?=?new?Swagger2MarkupConfigBuilder()
    ????????????????.withMarkupLanguage(MarkupLanguage.MARKDOWN)?//?設置生成格式Markdown????????????????.withOutputLanguage(Language.ZH)?//?設置語言中文????????????????.withPathsGroupedBy(GroupBy.TAGS)
    ????????????????.withGeneratedExamples()
    ????????????????.withoutInlineSchema()
    ????????????????.build();
    ????????Swagger2MarkupConverter.from(new?URL("http://127.0.0.1:2020/v2/api-docs"))?//?復制到瀏覽器中可以看到JSION數據的地址????????????????.withConfig(config)
    ????????????????.build()
    ????????????????.toFile(Paths.get("src/main/resources/docs"));??//?這里注意,src前面不能有?“/”????}}

    結果:導出成功的Markdown文檔

    以上就是小編今天的分享了,希望可以幫助到大家。

    文檔

    swagger-ui

    Swagger UI允許任何人都可以可視化API資源并與之交互,而無需任何實現邏輯。它是根據OpenAPI(以前稱為Swagger)規范自動生成的,具有可視化文檔,可簡化后端實現和客戶端使用。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關推薦
    網絡工程師考試時間 網絡工程師就業前景 網絡工程師的職責 網絡工程師怎么考 網絡工程師如何考 考網絡工程師 網絡工程師好學嗎 網絡工程師報考條件 高級網絡工程師好考嗎 網絡工程師通過率 網絡工程師考什么內容 網絡工程師是干嘛的 網絡工程師證書查詢 計算機四級網絡工程師考什么 網絡工程師認證有哪些 初級網絡工程師報考條件 網絡工程師有什么用 網絡工程師作用 軟件工程師和網絡工程師哪個好 四級網絡工程師有用嗎 網絡工程師要學多久 軟考網絡工程師含金量 華為認證網絡工程師好考嗎 pmp證書難度大嗎 pmp證書有用嗎 pmp證書作用 system ui pmp考試題型 pmp考試時間報名時間 pmp證書編號查詢 pmp認證是什么 pmp考試怎么考 pmp如何考 pmp考試 pmp學習內容 pmp考試流程 pmp好考嗎 pmp考試要求 什么是pmp pmp是什么意思 pmp有用嗎 pmp學什么 項目管理師pmp報考條件 考pmp認證有什么用 pmp認證作用 pmp考試需要準備多久 pmp啥證 pmp證書怎么考 pmp證書如何考
    Top 国产精品无码无卡在线观看久| 精品成人免费自拍视频| 91精品国产免费久久久久久青草 | 国内精品人妻无码久久久影院| 亚洲精品一卡2卡3卡四卡乱码| 极品精品国产超清自在线观看| 国产午夜久久精品| 国产成人综合一区精品| 小辣椒福利视频精品导航| 亚洲精品永久在线观看| 久久精品女人毛片国产| 亚洲性色精品一区二区在线| 久久九九国产精品怡红院| 精品国产福利尤物免费| 国产精品免费视频网站| 3D动漫精品一区二区三区| 久久久无码精品亚洲日韩按摩| 9i9精品国产免费久久| 免费精品国自产拍在线播放| 午夜精品一区二区三区免费视频| 国产成人精品日本亚洲专区| 国产精品亚洲精品久久精品| 国产福利在线观看精品| 久久久久久影院久久久久免费精品国产小说 | 精品大臿蕉视频在线观看| 国产精品视频yuojizz| 国产精品亚洲w码日韩中文| 国产精品青青青高清在线观看| 99国产精品国产精品九九| 2019国产精品青青草原| 亚洲av无码乱码国产精品| 999成人精品视频在线| 国产成人精品曰本亚洲79ren| 精品久久久久久久免费加勒比| 在线精品自偷自拍无码中文| 1204国产成人精品视频| 日产精品久久久一区二区| 国产精品99久久久久久宅男| 精品3d动漫视频一区在线观看 | 国产99久久九九精品无码| 国产精品91在线播放|