最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot框架整合SwaggerUI的示例代碼

 更新時間:2022年02月24日 10:52:48   作者:xsha_h  
項目中使用了很多現(xiàn)成的框架,都是項目經(jīng)理、架構(gòu)師帶來的,從來沒有自己整合過,今天給大家介紹下SpringBoot框架整合SwaggerUI的過程,感興趣的朋友跟隨小編一起看看吧

整合swagger進(jìn)行模塊測試

注意事項:為方便SpringBoot更好的整合Swagger,需要專門放置在一個模塊中(maven子工程)

創(chuàng)建公共模塊,整合swagger,為了所有模塊進(jìn)行使用

common/pom.xml,導(dǎo)入相關(guān)的依賴

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <scope>provided </scope>
    </dependency>

    <!--mybatis-plus-->
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
    <!--lombok用來簡化實(shí)體類:需要安裝lombok插件-->
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    <!--swagger-->
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <artifactId>springfox-swagger-ui</artifactId>
    <!-- redis -->
        <artifactId>spring-boot-starter-data-redis</artifactId>
    <!-- spring2.X集成redis所需common-pool2
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-pool2</artifactId>
        <version>2.6.0</version>
    </dependency>-->
</dependencies>

在公共模塊下在創(chuàng)建一個模塊,如service_base

在該模塊下創(chuàng)建配置類(需要遵循SpringBoot規(guī)范,該代碼固定)

package com.xsha.servicebase;

import com.google.common.base.Predicates;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket webApiConfig(){
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("webApi")
                .apiInfo(webApiInfo())
                .select()
                .paths(Predicates.not(PathSelectors.regex("/admin/.*")))
                .paths(Predicates.not(PathSelectors.regex("/error.*")))
                .build();
    }
    private ApiInfo webApiInfo(){
        return new ApiInfoBuilder()
                .title("網(wǎng)站標(biāo)題")
                .description("接口文檔的描述信息")
                .version("1.0")
                .contact(new Contact("java", "http://www.baidu.com", "1234567890@qq.com"))
}

使用方式

在其他模塊(最好是最外層的)的pom.xml引入上面的模塊即可

<dependency>
    <groupId>com.xsha</groupId>
    <artifactId>service_base</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>

在該模塊的啟動類上添加ComponentScan注解,指定需要掃描的包。例如:@ComponentScan(basePackages={"com.xsha"})

然后啟動,訪問地址:http://127.0.0.1:8001/swagger-ui.html

統(tǒng)一返回結(jié)果的格式(自定義結(jié)果)

在公共模塊下在創(chuàng)建一個模塊,如common-utils

創(chuàng)建一個專門管理狀態(tài)碼的接口

public interface ResultCode {
    //定義兩個狀態(tài)碼
    public static int SUCCESS = 20000;
    public static int ERROR = 40000;
}

定義返回格式(較為固定)

package com.xsha.commonutils;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.HashMap;
import java.util.Map;
// 統(tǒng)一返回結(jié)果類
@Data
public class R {
    @ApiModelProperty(value = "是否成功")
    private Boolean success;
    @ApiModelProperty(value = "返回碼")
    private Integer code;
    @ApiModelProperty(value = "返回消息")
    private String message;
    @ApiModelProperty(value = "返回數(shù)據(jù)")
    private Map<String, Object> data = new HashMap<String, Object>();
    // 把構(gòu)造方法定為私有
    private R() {}
    // 成功靜態(tài)方法
    public static R ok() {
        R r = new R();
        r.setSuccess(true);
        r.setCode(ResultCode.SUCCESS);
        r.setMessage("成功");
        return r;
    }
    // 失敗靜態(tài)方法
    public static R error() {
        r.setSuccess(false);
        r.setCode(ResultCode.ERROR);
        r.setMessage("失敗");
    public R success(Boolean success){
        this.setSuccess(success);
        return this;
    public R message(String message){
        this.setMessage(message);
    public R code(Integer code){
        this.setCode(code);
    public R data(String key, Object value){
        this.data.put(key, value);
    public R data(Map<String, Object> map){
        this.setData(map);
}

使用方式

在其他模塊(最好是最外層的)的pom.xml引入上面的模塊即可

<dependency>
    <groupId>com.xsha</groupId>
    <artifactId>common_utils</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>

每次返回的結(jié)果的類型必須是自定義的“返回格式”類類型

// please use rest style
// 1.select all teachers data
@ApiOperation(value = "所有數(shù)據(jù)列表")
@GetMapping("findAll")
public R findAllTeachers() {
    List<EduTeacher> teachers = teacherService.list(null);
    return R.ok().data("results", teachers);
}
// request path mast have variable id
// 2.logically delete teacher
@ApiOperation(value = "邏輯刪除數(shù)據(jù)")
@DeleteMapping("{id}")
public R logicDeleteTeacher(@ApiParam(name="id", value="講師ID", required = true) @PathVariable String id) {
    boolean flag = teacherService.removeById(id);
    return flag? R.ok(): R.error();
}

最后在swagger中測試即可

到此這篇關(guān)于SpringBoot框架整合SwaggerUI的文章就介紹到這了,更多相關(guān)SpringBoot整合SwaggerUI內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot中的響應(yīng)式web應(yīng)用詳解

    SpringBoot中的響應(yīng)式web應(yīng)用詳解

    這篇文章主要介紹了SpringBoot中的響應(yīng)式web應(yīng)用詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Java基于Servlet和JSP實(shí)現(xiàn)登錄功能

    Java基于Servlet和JSP實(shí)現(xiàn)登錄功能

    在 Web 開發(fā)中,用戶登錄功能是非常常見的模塊之一,本文將通過使用 Java Servlet 和 JSP 實(shí)現(xiàn)一個簡單的用戶登錄功能,展示如何創(chuàng)建登錄頁面、處理用戶登錄請求,并使用數(shù)據(jù)庫驗證用戶信息,需要的朋友可以參考下
    2024-11-11
  • SpringBoot實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離的3種方法小結(jié)

    SpringBoot實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離的3種方法小結(jié)

    為了提高系統(tǒng)的讀寫性能和可用性,讀寫分離是一種經(jīng)典的數(shù)據(jù)庫架構(gòu)模式,在SpringBoot應(yīng)用中,有多種方式可以實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離,本文將介紹三種主實(shí)現(xiàn)方案,大家可以根據(jù)需要自行選擇
    2025-04-04
  • Java JDK動態(tài)代理(AOP)用法及實(shí)現(xiàn)原理詳解

    Java JDK動態(tài)代理(AOP)用法及實(shí)現(xiàn)原理詳解

    在本篇文章了小編給大家整理的是一篇關(guān)于Java JDK動態(tài)代理(AOP)用法及實(shí)現(xiàn)原理詳解內(nèi)容,有需要的朋友們可以參考學(xué)習(xí)下。
    2020-10-10
  • mybaits中if條件中怎樣判斷布爾值

    mybaits中if條件中怎樣判斷布爾值

    這篇文章主要介紹了mybaits中if條件中怎樣判斷布爾值問題,具有很好的參考價值,希望對大家有所幫助,
    2023-08-08
  • Java使用Graphics2D實(shí)現(xiàn)字符串文本自動換行

    Java使用Graphics2D實(shí)現(xiàn)字符串文本自動換行

    這篇文章主要為大家詳細(xì)介紹了Java如何使用Graphics2D實(shí)現(xiàn)字符串文本自動換行,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-04-04
  • Java常用排序算法及性能測試集合

    Java常用排序算法及性能測試集合

    周末天氣不好,在家無事,把常用排序算法理了一遍,收獲不小,特寫文章紀(jì)念。這些算法在學(xué)校的時候?qū)W過一遍,很多原理都忘記了
    2013-06-06
  • 性能爆棚的實(shí)體轉(zhuǎn)換復(fù)制工具M(jìn)apStruct使用詳解

    性能爆棚的實(shí)體轉(zhuǎn)換復(fù)制工具M(jìn)apStruct使用詳解

    這篇文章主要為大家介紹了性能爆棚的實(shí)體轉(zhuǎn)換復(fù)制工具M(jìn)apStruct使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 一文搞懂Spring中的Bean作用域

    一文搞懂Spring中的Bean作用域

    scope用來聲明容器中的對象所應(yīng)該處的限定場景或者說該對象的存活時間,即容器在對象進(jìn)入其 相應(yīng)的scope之前,生成并裝配這些對象,在該對象不再處于這些scope的限定之后,容器通常會銷毀這些對象,這篇文章主要介紹了Spring中的Bean作用域,需要的朋友可以參考下
    2022-06-06
  • SpringAop攔截參數(shù)帶注解的方法

    SpringAop攔截參數(shù)帶注解的方法

    這篇文章主要介紹了SpringAop攔截參數(shù)帶注解的方法,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2024-12-12

最新評論

沁源县| 胶南市| 惠安县| 大港区| 松溪县| 毕节市| 阳高县| 霍林郭勒市| 黎川县| 汤阴县| 丰顺县| 张家界市| 黄平县| 子洲县| 陇川县| 永胜县| 旬邑县| 屏山县| 西林县| 太康县| 扬中市| 肃宁县| 武功县| 阿荣旗| 广平县| 绵竹市| 边坝县| 普洱| 措勤县| 许昌县| 新巴尔虎左旗| 三穗县| 辛集市| 佳木斯市| 老河口市| 曲水县| 军事| 钟祥市| 凯里市| 青河县| 微山县|