欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Swagger2的正確玩法是什么

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)Swagger2 的正確玩法是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

在安國(guó)等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),成都全網(wǎng)營(yíng)銷,成都外貿(mào)網(wǎng)站建設(shè)公司,安國(guó)網(wǎng)站建設(shè)費(fèi)用合理。

Swagger2簡(jiǎn)介

簡(jiǎn)單的來(lái)說(shuō),Swagger2的誕生就是為了解決前后端開(kāi)發(fā)人員進(jìn)行交流的時(shí)候API文檔難以維護(hù)的痛點(diǎn),它可以和我們的Java程序完美的結(jié)合在一起,并且可以與我們的另一開(kāi)發(fā)利器Spring Boot來(lái)配合使用。

開(kāi)始使用

第一步:導(dǎo)入POM文件
         <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency> 

        <!-- 這里使用 swagger-bootstrap-ui 替代了原有丑陋的ui,拯救處女座~ -->
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>swagger-bootstrap-ui</artifactId>
            <version>1.9.0</version>
        </dependency>

#### 第二步:添加配置類

我們需要新增一個(gè)Swagger2Config 的配置類:

/**
 *    Swagger2 配置類
 * @author vi    
 * @since 2019/3/6 8:31 PM
 */
@Configuration
public class Swagger2Config {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("indi.viyoung.viboot.*"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("viboot-swagger2")    //標(biāo)題
                .description("Restful-API-Doc")    //描述
                .termsOfServiceUrl("https://www.cnblogs.com/viyoung") //這里配置的是服務(wù)網(wǎng)站,我寫(xiě)的是我的博客園站點(diǎn)~歡迎關(guān)注~
                .contact(new Contact("Vi的技術(shù)博客", "https://www.cnblogs.com/viyoung", "18530069930@163.com")) // 三個(gè)參數(shù)依次是姓名,個(gè)人網(wǎng)站,郵箱
                .version("1.0") //版本
                .build();
    }
}
第三步:在啟動(dòng)類中添加配置

注意一定要記得添加@EnableSwagger2注解

/**
 * @author vi
 * @since 2019/3/6 6:35 PM
 */
@SpringBootApplication
@ComponentScan(value = "indi.viyoung.viboot.*")
@MapperScan(value = "indi.viyoung.viboot.swagger2.mapper")
@EnableSwagger2
@EnableSwaggerBootstrapUI
public class ViBootSwaggerApplication {
    public static void main(String[] args) {
        SpringApplication.run(ViBootSwaggerApplication.class, args);
    }
}
第四步:通過(guò)注解來(lái)完成API文檔

1. @Api

注解名稱注解屬性作用域屬性作用
@Apitags說(shuō)明該類的作用

value說(shuō)明該類的作用

舉個(gè)????:

@Api(value = "用戶類控制器",tags="用戶類控制器")
public class UserController {
...
}

Swagger2 的正確玩法是什么

2 . @ApiOperation

注解名稱注解屬性作用域屬性作用
@ApiOperation()value方法描述方法作用

notes方法提示內(nèi)容

tags方法分組

舉個(gè)????:

     @ApiOperation(value = "獲取用戶列表",notes = "獲取用戶列表")
    public List<User> get() {
         ...   
    }

Swagger2 的正確玩法是什么

3. @ApiParam

注解名稱注解屬性作用域屬性作用
@ApiParam()name方法參數(shù)參數(shù)名

value方法參數(shù)參數(shù)說(shuō)明

required方法參數(shù)是否必填

舉個(gè)????:

    @ApiOperation(value="獲取用戶詳細(xì)信息", notes="根據(jù)url的id來(lái)獲取用戶詳細(xì)信息")
    public User get(@ApiParam(name="id",value="用戶id",required=true) Long id) {
        log.info("GET..{}...方法執(zhí)行。。。",id);
        return userService.getById(id);
    }

Swagger2 的正確玩法是什么

4. @ApiModel && @ApiModelProperty

注解名稱注解屬性作用域屬性作用
@ApiModel()value對(duì)象名

description描述
@ApiModelProperty()value方法字段說(shuō)明

name方法屬性名

dataType方法屬性類型

required方法是否必填

example方法舉例

hidden方法隱藏

舉個(gè)????:

@ApiModel(value="user對(duì)象",description="用戶對(duì)象user")
public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value = "用戶ID",example = "1000001",hidden=true)
    private Long id;

    @ApiModelProperty(value="用戶名",required = true,dataType = "String")
    private String userName;

    @ApiModelProperty(value = "密碼")
    private String password;
}

Swagger2 的正確玩法是什么

5. @ApiImplicitParam && @ApiImplicitParams

`@ApiImplicitParam`可以單個(gè)用于方法至上,多個(gè)參數(shù)的話可以把`@ApiImplicitParam`放到`@ApiImplicitParams`中,這里只羅列`@ApiImplicitParam`的屬性:
注解名稱注解屬性作用域屬性作用
@ApiImplicitParam()value方法參數(shù)說(shuō)明

name方法參數(shù)名

dataType方法數(shù)據(jù)類型

paramType方法參數(shù)類型

example方法舉例

舉個(gè)????:

    @ApiImplicitParams({
            @ApiImplicitParam(name = "user", value = "用戶實(shí)體user", required = true, dataType = "User")
    })
    public void put(User user) {
        userService.updateById(user);
        log.info("PUT方法執(zhí)行。。。");
    }

Swagger2 的正確玩法是什么

這里需要注意一點(diǎn),我們并沒(méi)有在注解中寫(xiě)圖中圈中的兩個(gè)參數(shù),這個(gè)是去讀取了我們剛剛為User類的注解,并將用戶名設(shè)置為必填!

6.@ApiResposne && @ApiResponses

@ApiResponses@ApiResponse的關(guān)系和@ApiImplicitParam && @ApiImplicitParams 的關(guān)系和用法都是類似的

注解名稱注解屬性作用域屬性作用
@ApiResponse()response方法返回類

code方法返回碼

message方法返回信息

examples方法例子

Swagger2 的正確玩法是什么

最后再聊聊這個(gè)UI

先貼幾張spring-fox的ui(正是我們所熟知的那一套)

Swagger2 的正確玩法是什么

Swagger2 的正確玩法是什么

相信看到這里,大家心里對(duì)于這兩套UI的選擇應(yīng)該都有個(gè)答案了,當(dāng)然bootstrap風(fēng)格的ui不僅好看,而且有各種強(qiáng)大的功能~

  1. 導(dǎo)出md文檔

    Swagger2 的正確玩法是什么

  2. 參數(shù)緩存

    Swagger2 的正確玩法是什么

上述就是小編為大家分享的Swagger2 的正確玩法是什么了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前題目:Swagger2的正確玩法是什么
分享網(wǎng)址:http://www.chinadenli.net/article30/jogspo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化全網(wǎng)營(yíng)銷推廣企業(yè)網(wǎng)站制作關(guān)鍵詞優(yōu)化定制網(wǎng)站網(wǎng)站營(yíng)銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作