国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

泰州營(yíng)銷型網(wǎng)站2345瀏覽器主頁(yè)網(wǎng)址

泰州營(yíng)銷型網(wǎng)站,2345瀏覽器主頁(yè)網(wǎng)址,電商怎么入門,中國(guó)做網(wǎng)站的公司Spring Boot 3項(xiàng)目集成Swagger3教程 ?? 前言 歡迎來(lái)到我的小天地,這里是我記錄技術(shù)點(diǎn)滴、分享學(xué)習(xí)心得的地方。?? ?? 技能清單 編程語(yǔ)言:Java、C、C、Python、Go、前端技術(shù):Jquery、Vue.js、React、uni-app、EchartsUI設(shè)計(jì): Element-u…

Spring Boot 3項(xiàng)目集成Swagger3教程

?? 前言

歡迎來(lái)到我的小天地,這里是我記錄技術(shù)點(diǎn)滴、分享學(xué)習(xí)心得的地方。??

?? 技能清單
  • 編程語(yǔ)言: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)開(kāi)發(fā):Android
  • 操作系統(tǒng):Windows、Linux
  • 開(kāi)發(fā)框架:RuoYi、微信小程序
  • 開(kāi)發(fā)工具:VSCode、IDEA、Eclipse、WebStorm、HbuildX、Navicat、Xshell、Android Studio、Postman
  • 數(shù)據(jù)庫(kù)技術(shù):MySQL、Redis、SQL Server
  • 版本控制:Git

Swagger是一個(gè)用于設(shè)計(jì)、構(gòu)建、記錄和使用RESTful web服務(wù)的開(kāi)源軟件框架。Swagger 3(OpenAPI 3.0)提供了更加強(qiáng)大和靈活的API文檔生成能力。本教程將指導(dǎo)您如何在Spring Boot 3項(xiàng)目中集成Swagger3,并使用Knife4j作為UI界面。

1. 添加依賴

首先,您需要在項(xiàng)目的pom.xml文件中添加Swagger3的依賴。同時(shí),為了確保依賴能夠正確下載,您可以添加阿里云的Maven鏡像倉(cāng)庫(kù)。

        <!--swagger3--><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId><version>4.1.0</version></dependency><repositories><!--阿里云鏡像--><repository><id>alimaven</id><name>aliyun maven</name><url>https://maven.aliyun.com/nexus/content/groups/public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories>

2. 配置Swagger

在Spring Boot項(xiàng)目中創(chuàng)建一個(gè)配置類SwaggerConfig,并添加Swagger的配置信息。

import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class SwaggerConfig {@Beanpublic OpenAPI springShopOpenAPI() {return new OpenAPI().info(new Info().title("標(biāo)題").contact(new Contact()).description("我的API文檔").version("v1").license(new License().name("Apache 2.0").url("http://springdoc.org"))).externalDocs(new ExternalDocumentation().description("外部文檔").url("https://springshop.wiki.github.org/docs"));}
}

3. 實(shí)體類和控制層注解

在您的實(shí)體類和控制層中使用Swagger注解來(lái)描述API。

// 實(shí)體類注解示例
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;import java.util.Date;@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Schema(name = "Employee", description = "$!{table.comment}")
public class Emp {@ExcelProperty("ID")@Schema(description = "ID")private int id;@ExcelProperty("用戶名")@Schema(description = "用戶名")private String names;@ExcelProperty("工資")@Schema(description = "工資")private double salary;@ExcelProperty("生日")@Schema(description = "生日")private Date birthday;@ColumnWidth(20)@ExcelProperty("頭像")@Schema(description = "頭像")private String photo;//    @ColumnWidth(20)
//    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    @ExcelProperty("創(chuàng)建日期")
//    private Date u_create_time;
}// 控制層注解示例
import io.swagger.v3.oas.annotations.Operation;@Operation(summary = "獲取所有員工信息")
@GetMapping("/selectAll")
public List<Emp> selectAll() {// ...
}

4. 通用返回結(jié)果封裝

創(chuàng)建一個(gè)通用的返回結(jié)果類,用于統(tǒng)一API的響應(yīng)格式。

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;@Builder(toBuilder = true)
@AllArgsConstructor
@Setter
@Getter
@Slf4j
public class Result<T> {/*** 提示信息*/@Schema(description = "提示信息")private String message;/*** 是否成功*/@Schema(description = "是否成功")private boolean success;/*** 返回狀態(tài)碼*/@Schema(description = "返回狀態(tài)碼")private Integer code;/*** 數(shù)據(jù)*/@Schema(description = "數(shù)據(jù)")private T data;public Result() {}public static Result success() {Result Result = new Result();Result.setSuccess(Boolean.TRUE);Result.setCode(ResultCode.SUCCESS.getCode());Result.setMessage(ResultCode.SUCCESS.getMsg());return Result;}public static Result success(String msg) {Result Result = new Result();Result.setMessage(msg);Result.setSuccess(Boolean.TRUE);Result.setCode(ResultCode.SUCCESS.getCode());return Result;}public static Result success(Object data) {Result Result = new Result();Result.setData(data);Result.setSuccess(Boolean.TRUE);Result.setCode(ResultCode.SUCCESS.getCode());Result.setMessage(ResultCode.SUCCESS.getMsg());return Result;}/*** 返回失敗 消息** @return Result*/public static Result failure() {Result Result = new Result();Result.setSuccess(Boolean.FALSE);Result.setCode(ResultCode.FAILURE.getCode());Result.setMessage(ResultCode.FAILURE.getMsg());return Result;}/*** 返回失敗 消息** @param msg 失敗信息* @return Result*/public static Result failure(String msg) {Result Result = new Result();Result.setSuccess(Boolean.FALSE);Result.setCode(ResultCode.FAILURE.getCode());Result.setMessage(msg);return Result;}public static Result failure(Integer code, String msg) {Result Result = new Result();Result.setSuccess(Boolean.FALSE);Result.setCode(code);Result.setMessage(msg);return Result;}public static Result failure(String msg, ResultCode exceptionCode) {Result Result = new Result();Result.setMessage(msg);Result.setSuccess(Boolean.FALSE);Result.setCode(exceptionCode.getCode());Result.setData(exceptionCode.getMsg());return Result;}/*** 返回失敗 消息** @param exceptionCode 錯(cuò)誤信息枚舉* @return Result*/public static Result failure(ResultCode exceptionCode) {Result Result = new Result();Result.setSuccess(Boolean.FALSE);Result.setCode(exceptionCode.getCode());Result.setMessage(exceptionCode.getMsg());return Result;}/*** 返回失敗 消息** @param exceptionCode 錯(cuò)誤信息枚舉* @param msg           自定義錯(cuò)誤提示信息* @return Result*/public static Result failure(ResultCode exceptionCode, String msg) {Result Result = new Result();Result.setMessage(msg);Result.setSuccess(Boolean.FALSE);Result.setCode(exceptionCode.getCode());return Result;}}

5. 注解說(shuō)明

Swagger3的注解與Swagger2有所不同,以下是一些常用注解的對(duì)照表:

Swagger2注解

Swagger3注解

注解位置

@Api

@Tag(name = “接口類描述”)

Controller類上

@ApiOperation

@Operation(summary = “接口方法描述”)

Controller方法上

@ApiImplicitParams

@Parameters

Controller方法上

@ApiImplicitParam

@Parameter(description = “參數(shù)描述”)

Controller方法上

@ApiParam

@Parameter(description = “參數(shù)描述”)

方法參數(shù)上

@ApiIgnore

@Parameter(hidden = true) 或 @Operation(hidden = true)

-

@ApiModel

@Schema

DTO類上

@ApiModelProperty

@Schema

DTO屬性上

6. 訪問(wèn)Swagger UI

啟動(dòng)您的Spring Boot應(yīng)用后,您可以通過(guò)以下地址訪問(wèn)Swagger UI:

http://localhost:8080/doc.html
http://localhost:8080/swagger-ui/index.html

在這里,您可以查看API文檔,測(cè)試API接口,并獲取相關(guān)信息。

?? 獲取源代碼

  • 后端案例:https://gitee.com/bestwishes0203/Front-end-example
  • 前端案例:https://gitee.com/bestwishes0203/Back-end-example

?? 聯(lián)系方式

如果您對(duì)我們的項(xiàng)目感興趣,或者有任何技術(shù)問(wèn)題想要探討,歡迎通過(guò)以下方式與我聯(lián)系。我非常期待與您交流,共同學(xué)習(xí),共同進(jìn)步!

  • 郵箱:2109664977@qq.com
  • Gitee:https://gitee.com/bestwishes0203
  • GitHub:https://github.com/bestwishes0203
  • CSDN:https://blog.csdn.net/interest_ing_/
  • 個(gè)人博客:訪問(wèn)我的博客

?? 結(jié)語(yǔ)

感謝你的訪問(wèn),如果你對(duì)我的技術(shù)文章或項(xiàng)目感興趣,歡迎通過(guò)以上方式與我聯(lián)系。讓我們一起在技術(shù)的道路上不斷前行!??

http://aloenet.com.cn/news/35755.html

相關(guān)文章:

  • 男女做床上網(wǎng)站微信朋友圈廣告投放代理
  • 網(wǎng)站建設(shè) 駿域網(wǎng)絡(luò)建設(shè)專家廣州推廣策劃方案怎么做
  • 80s網(wǎng)站建設(shè)工作室鄭州網(wǎng)站建設(shè)七彩科技
  • 做公司網(wǎng)站推廣百度指數(shù)是啥
  • 圣融網(wǎng)站建設(shè)如何推廣一個(gè)平臺(tái)
  • 江西省網(wǎng)站備案平面設(shè)計(jì)培訓(xùn)費(fèi)用一般是多少
  • 網(wǎng)站建設(shè)經(jīng)營(yíng)范圍seo項(xiàng)目培訓(xùn)
  • 張家港企業(yè)做網(wǎng)站seo網(wǎng)站運(yùn)營(yíng)
  • 保定網(wǎng)站建設(shè)方法能打開(kāi)各種網(wǎng)站的瀏覽器下載
  • 軟件開(kāi)發(fā)過(guò)程五個(gè)步驟網(wǎng)站seo優(yōu)化總結(jié)
  • p2p網(wǎng)站建設(shè)百度seo發(fā)包工具
  • 豬八戒做網(wǎng)站靠譜嗎seo技術(shù)培訓(xùn)寧波
  • 網(wǎng)站的音樂(lè)鏈接怎么做現(xiàn)在有什么技能培訓(xùn)班
  • 微信如何做積分商城網(wǎng)站煙臺(tái)seo
  • 中國(guó)男女直接做的視頻網(wǎng)站百度云盤
  • 動(dòng)漫做3d游戲下載網(wǎng)站河南seo關(guān)鍵詞排名優(yōu)化
  • 怎么自己制作網(wǎng)站網(wǎng)絡(luò)推廣優(yōu)化招聘
  • app開(kāi)發(fā)定制開(kāi)發(fā)合肥seo網(wǎng)站排名
  • 專業(yè)網(wǎng)站建設(shè)webmeng網(wǎng)絡(luò)營(yíng)銷工具和方法
  • 上海微信小程序網(wǎng)站建設(shè)活動(dòng)策劃方案詳細(xì)模板
  • 電子商城網(wǎng)站建設(shè)農(nóng)產(chǎn)品推廣方案
  • 杭州開(kāi)發(fā)網(wǎng)站收錄網(wǎng)站
  • 坪山住房和建設(shè)局網(wǎng)站推銷
  • AAP網(wǎng)站開(kāi)發(fā)需要多少錢微指數(shù)
  • 西寧做網(wǎng)站的好公司北京seo優(yōu)化技術(shù)
  • 站群網(wǎng)絡(luò)促銷的方法有哪些
  • 成都網(wǎng)站建設(shè)前幾公司關(guān)鍵詞搜索愛(ài)站網(wǎng)
  • 自己做soho需要做網(wǎng)站嗎云盤網(wǎng)頁(yè)版登錄
  • 網(wǎng)絡(luò)推廣主要工作內(nèi)容網(wǎng)站關(guān)鍵詞排名優(yōu)化軟件
  • 網(wǎng)站測(cè)試問(wèn)題提交模板百度搜索引擎地址