国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

swagger使用教程——快速使用swagger

這篇具有很好參考價(jià)值的文章主要介紹了swagger使用教程——快速使用swagger。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Swagger使用教程——快速上手swagger

一、swagger簡介

官網(wǎng):https://swagger.io/

1、認(rèn)識swagger

swagger是一個(gè)規(guī)范和完整的框架,用于生成、描述、調(diào)用和可視化RestFul風(fēng)格的web服務(wù),總體目標(biāo)是使客戶端和文件系統(tǒng)作為服務(wù)器以同樣的速度來更新。文件的方法,參數(shù)和模型緊密集成到服務(wù)器斷的代碼,允許API來始終保持同步。

作用:

1. 接口的文檔在線自動(dòng)生成。

2. 功能測試。

2、Swagger是一組開源項(xiàng)目,其中主要要項(xiàng)目如下:
  1. Swagger-tools:提供各種與Swagger進(jìn)行集成和交互的工具。例如模式檢驗(yàn)、Swagger 1.2文檔轉(zhuǎn)換成Swagger 2.0文檔等功能。

  2. Swagger-core: 用于Java/Scala的的Swagger實(shí)現(xiàn)。與JAX-RS(Jersey、Resteasy、CXF…)、Servlets和Play框架進(jìn)行集成。

  3. Swagger-js: 用于JavaScript的Swagger實(shí)現(xiàn)。

  4. Swagger-node-express: Swagger模塊,用于node.js的Express web應(yīng)用框架。

  5. Swagger-ui:一個(gè)無依賴的HTML、JS和CSS集合,可以為Swagger兼容API動(dòng)態(tài)生成優(yōu)雅文檔。

  6. Swagger-codegen:一個(gè)模板驅(qū)動(dòng)引擎,通過分析用戶Swagger資源聲明以各種語言生成客戶端代碼。

二、SpringBoot集成Swagger

1、新建SpringBoot項(xiàng)目,導(dǎo)入swagger依賴
 <!--swagger依賴-->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
<!--swagger ui-->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>
2、編寫swagger的配置文件
@Configuration
@EnableSwagger2
public class Swagger2Config {
    /**
     * 創(chuàng)建API應(yīng)用
     * apiInfo() 增加API相關(guān)信息
     * 通過select()函數(shù)返回一個(gè)ApiSelectorBuilder實(shí)例,用來控制哪些接口暴露給Swagger來展現(xiàn),
     * 指定掃描的包路徑來定義指定要建立API的目錄。
     * @return
     */
    @Bean
    public Docket coreApiConfig(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(adminApiInfo())
                .groupName("adminApi")
                .select()
                //只顯示admin下面的路徑
                .paths(Predicates.and(PathSelectors.regex("/admin/.*")))
                .build();
    }

    private ApiInfo adminApiInfo(){
        return new ApiInfoBuilder()
                .title("尚融寶后臺(tái)管理系統(tǒng)--api文檔")
                .description("尚融寶后臺(tái)管理系統(tǒng)接口描述")
                .version("1.0")
                .contact(new Contact("李燕茹","http://baidu.com","728831102@qq.com"))
                .build();
    }
}
3、添加文檔內(nèi)容

在完成了上述配置后,其實(shí)已經(jīng)可以生產(chǎn)文檔內(nèi)容,但是這樣的文檔主要針對請求本身,描述的主要來源是函數(shù)的命名,通常需要自己增加一些說明來豐富文檔內(nèi)容。

Swagger使用的注解及其說明:

@Api:用在類上,說明該類的作用。
@ApiOperation:注解來給API增加方法說明。
@ApiParam:定義在參數(shù)上
@ApiResponses:用于表示一組響應(yīng)
@ApiResponse:用在@ApiResponses中,一般用于表達(dá)一個(gè)錯(cuò)誤的響應(yīng)信息
l code:數(shù)字,例如400
l message:信息,例如"請求參數(shù)沒填好"
l response:拋出異常的類

@ApiModel:描述一個(gè)Model的信息(一般用在請求參數(shù)無法使用@ApiImplicitParam注解進(jìn)行描述的時(shí)候)

l @ApiModelProperty:描述一個(gè)model的屬性

@ApiImplicitParams: 用在方法上包含一組參數(shù)說明。

@ApiImplicitParam:用來注解來給方法入?yún)⒃黾诱f明。

@ApiImplicitParam的參數(shù)說明:

paramType:指定參數(shù)放在哪個(gè)地方 header:請求參數(shù)放置于Request Header,使用@RequestHeader獲取 query:請求參數(shù)放置于請求地址,使用@RequestParam獲取 path:(用于restful接口)–>請求參數(shù)的獲?。篅PathVariable body:(不常用) form(不常用)
name:參數(shù)名
dataType:參數(shù)類型
required:參數(shù)是否必須傳 true | false
value:說明參數(shù)的意思
defaultValue:參數(shù)的默認(rèn)值

案例:

//實(shí)體類
//entity的實(shí)體類中可以添加一些自定義設(shè)置
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="IntegralGrade對象", description="積分等級表")
public class IntegralGrade implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "編號")
      @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "積分區(qū)間開始")
    private Integer integralStart;

    @ApiModelProperty(value = "積分區(qū)間結(jié)束")
    private Integer integralEnd;

    @ApiModelProperty(value = "借款額度")
    private BigDecimal borrowAmount;

    @ApiModelProperty(value = "創(chuàng)建時(shí)間")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新時(shí)間")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "邏輯刪除(1:已刪除,0:未刪除)")
    @TableField("is_deleted")
    @TableLogic
    private Boolean deleted;
}
//controler層
@RestController
@RequestMapping("/admin/integralGrade")
@Api(value = "積分等級管理")
public class IntegralGradeController {

    @Resource
    private IntegralGradeService integralGradeService;

    @GetMapping("/list")
    @ApiOperation("積分等級列表")
    public Result listAll(){
        List<IntegralGrade> list = integralGradeService.list();
        return Result.ok().data("list",list);
    }

    @DeleteMapping("/remove/{id}")
    @ApiOperation(value = "根據(jù)id刪除積分等級",notes = "邏輯刪除")
    public Result removeById(
        @ApiParam(value = "數(shù)據(jù)id",required = true,example = "1")
        @PathVariable Long id){
        boolean result = integralGradeService.removeById(id);
        if (result){
            return Result.ok().message("刪除成功");
        }else {
            return Result.error().message("刪除失敗");
        }
    }

    @PostMapping("/save")
    @ApiOperation(value = "新增積分等級")
    public Result save(@ApiParam(value = "積分等級對象",required = true) @RequestBody IntegralGrade integralGrade){
        boolean result = integralGradeService.save(integralGrade);
        if (result){
            return Result.ok().message("新增成功");
        }else {
            return Result.error().message("新增失敗");
        }
    }

    @PutMapping("/updateById")
    @ApiOperation(value = "根據(jù)id修改積分等級")
    public Result updateById(@ApiParam(value = "積分等級對象",required = true) @RequestBody IntegralGrade integralGrade){
        boolean result = integralGradeService.updateById(integralGrade);
        if (result){
            return Result.ok().message("修改成功");
        }else {
            return Result.error().message("修改失敗");
        }
    }

    @GetMapping("/getById/{id}")
    @ApiOperation(value = "根據(jù)id查詢積分等級")
    public Result getById(@ApiParam(value = "數(shù)據(jù)id",required = true,example = "1") @PathVariable Long id){
        IntegralGrade result = integralGradeService.getById(id);
        if (result == null){
            return Result.error().message("查詢失敗");
        }else {
            return Result.ok().data("integralGrade",result);
        }
    }
}
4、訪問

完成上述代碼,啟動(dòng)Spring Boot程序,訪問:http://localhost:8080/swagger-ui.html

swagger使用教程——快速使用swagger

swagger使用教程——快速使用swagger

5、進(jìn)行功能測試

點(diǎn)擊try it out 可以測試接口

swagger使用教程——快速使用swagger

有一個(gè)需要注意的地方:

Conntroller中定義的方法必須在@RequestMapper中顯示的指定RequestMethod類型,否則SawggerUi會(huì)默認(rèn)為全類型皆可訪問, API列表中會(huì)生成7條項(xiàng)目。

6、參考

http://blog.didispace.com/springbootswagger2/

Swagger官網(wǎng) :http://swagger.io/

Spring Boot & Swagger UI : http://fruzenshtein.com/spring-boot-swagger-ui/

Github:https://github.com/swagger-api/swagger-core/wiki/Annotations文章來源地址http://www.zghlxwxcb.cn/news/detail-422586.html

到了這里,關(guān)于swagger使用教程——快速使用swagger的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • OpenApi(Swagger)快速轉(zhuǎn)換成 TypeScript 代碼 - STC

    OpenApi(Swagger)快速轉(zhuǎn)換成 TypeScript 代碼 - STC

    在現(xiàn)代的 Web 開發(fā)中,使用 OpenAPI(以前稱為 Swagger)規(guī)范來描述和定義 API 已經(jīng)成為一種常見的做法。OpenAPI 規(guī)范提供了一種統(tǒng)一的方式來描述API的結(jié)構(gòu)、請求和響應(yīng),使得開發(fā)人員能夠更好地理解和使用 API。 然而,手動(dòng)編寫與 OpenAPI 規(guī)范匹配的客戶端代碼或服務(wù)端框架可能

    2024年02月14日
    瀏覽(18)
  • Swagger教程

    Swagger教程

    Swagger簡介【了解】 Springboot整合swagger【掌握】 Swagger 常用注解【掌握】 ? Swagger 是一系列 RESTful API 的工具,通過 Swagger 可以獲得項(xiàng)目的?種交互式文檔,客戶端 SDK 的自 動(dòng)生成等功能。 ? Swagger 的目標(biāo)是為 REST APIs 定義一個(gè)標(biāo)準(zhǔn)的、與語?言無關(guān)的接口,使人和計(jì)算機(jī)在看

    2023年04月17日
    瀏覽(20)
  • Spring Boot 整合 Swagger 教程詳解

    Spring Boot 整合 Swagger 教程詳解

    ?作者簡介:2022年 博客新星 第八 。熱愛國學(xué)的Java后端開發(fā)者,修心和技術(shù)同步精進(jìn)。 ??個(gè)人主頁:Java Fans的博客 ??個(gè)人信條:不遷怒,不貳過。小知識,大智慧。 ??當(dāng)前專欄:SpringBoot 框架從入門到精通 ?特色專欄:國學(xué)周更-心性養(yǎng)成之路 ??本文內(nèi)容:Spring Boot 整

    2023年04月14日
    瀏覽(26)
  • Spring Boot 3項(xiàng)目集成Swagger3教程

    歡迎來到我的小天地,這里是我記錄技術(shù)點(diǎn)滴、分享學(xué)習(xí)心得的地方。?? ??? 技能清單 編程語言 :Java、C、C++、Python、Go、 前端技術(shù) :Jquery、Vue.js、React、uni-app、Echarts UI設(shè)計(jì) : Element-ui、Antd、Color-ui 后端技術(shù) :Spring Boot、Mybatis-plus、Swagger 移動(dòng)開發(fā) :Android 操作系統(tǒng) :

    2024年04月17日
    瀏覽(22)
  • 接口工具Swagger2和Swagger-UI的使用

    接口工具Swagger2和Swagger-UI的使用

    目錄 一、為什么需要接口可視化工具? 二、Swagger-UI介紹: 1、在項(xiàng)目的pom文件中導(dǎo)入swagger2的依賴 2、下載Swagger-UI項(xiàng)目 3、引入Swagger-UI 4、編寫配置文件 第一種: 第二種: 5、訪問api文檔頁面 6、如果訪問失敗,則進(jìn)行第六步,如果訪問成功,就不用操作了。 我們的項(xiàng)目通常

    2024年02月08日
    瀏覽(31)
  • 【Swagger】常用注解的使用、SpringBoot的整合及生產(chǎn)環(huán)境下屏蔽Swagger

    【Swagger】常用注解的使用、SpringBoot的整合及生產(chǎn)環(huán)境下屏蔽Swagger

    ????????Swagger是一個(gè)規(guī)范和完整的框架,用于生成、描述、調(diào)用和可視化RESTful風(fēng)格的Web服務(wù)。它使得部署管理和使用功能強(qiáng)大的API從未如此簡單。Swagger讓文件的方法、參數(shù)和模型緊密集成到服務(wù)器端的代碼,允許API始終保持同步。 在軟件開發(fā)中,常用注解(Annotation)主

    2024年02月03日
    瀏覽(27)
  • Swagger使用詳解

    Swagger使用詳解

    前言 Swagger 是一個(gè)規(guī)范和完整的框架,用于生成、描述、調(diào)用和可視化 RESTful 風(fēng)格的 Web 服務(wù)??傮w目標(biāo)是使客戶端和文件系統(tǒng)作為服務(wù)器以同樣的速度來更新。文件的方法,參數(shù)和模型緊密集成到服務(wù)器端的代碼,允許API來始終保持同步 Why Swagger? 當(dāng)下很多公司都采取前后

    2024年02月07日
    瀏覽(13)
  • Swagger-的使用

    Swagger-的使用

    在我們和前端進(jìn)行交互的時(shí)候,出接口文檔是一件必須的事情,如果手寫接口文檔是一件很折磨人的事情,不管是前端還是后端開發(fā),多多少少都會(huì)被接口文檔所折磨,前端會(huì)抱怨后端沒有及時(shí)更新接口文檔,而后端又會(huì)覺得編寫接口文檔太過麻煩。通過swagger可以很好的解決

    2024年02月19日
    瀏覽(13)
  • Swagger使用方法

    Swagger使用方法

    1.什么是swagger Swagger是一個(gè)開放源代碼軟件框架,由大型工具生態(tài)系統(tǒng)支持,可幫助開發(fā)人員設(shè)計(jì),構(gòu)建,記錄和使用RESTful Web服務(wù)。盡管大多數(shù)用戶通過Swagger UI工具識別Swagger,但是Swagger工具集包括對自動(dòng)文檔,代碼生成和測試用例生成的支持。 2.swagger的特征 1. 通過代碼和

    2024年02月13日
    瀏覽(15)
  • Swagger2基本使用

    Swagger2基本使用

    前言 接口文檔對于前后端開發(fā)人員都十分重要。尤其近幾年流行前后端分離后接口文檔又變成重中之重。接口文檔固然重要,但是由于項(xiàng)目周期等原因后端人員經(jīng)常出現(xiàn)無法及時(shí)更新導(dǎo)致前端人員抱怨接口文檔和實(shí)際情況不一致。 很多人員會(huì)抱怨別人寫的接口文檔不規(guī)范,

    2024年02月07日
    瀏覽(38)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包