javascript
SpringBoot整合Swagger 自动生成在线API文档 偷懒必备 同时也是我们的基本操作啦!!!
不知道哦昨天的七夕過的咋樣,總之我就是在這new GirlFriend()、在那netw GirlFriend(),就這樣度過了一天。😐😶
現在大都數項目都已是前后端分離的啦,那么接口文檔就成了項目中非常重要的一部分啦,SpringBoot整合Swagger可以自動生成RESTFUL風格的API文檔,也可以在其中進行測試,比起以前手寫的文檔,不僅方便很多,而且也易于修改和測試。
很喜歡一句話:”八小時內謀生活,八小時外謀發展“
我們:"待別日相見時,都已有所成”😁
好的天氣,好的心情
SpringBoot整合Swagger 自動生成在線API文檔
- 一、前言
- 1)引入
- 2)介紹
- 3)作用
- 二、快速開始
- 2.1、步驟:
- 2.2、導入依賴:
- 2.3、yml配置文件
- 2.4、SwaggerConfig配置類
- 2.4、實體類
- 2.5、Service層
- 2.6、Controller
- 三、測試
- 初始信息:
- 接口:
- 測試:
- 四、Swagger VS PostMan
- 五、自言自語
一、前言
1)引入
現在小伙伴學習SpringBoot大都數是前后端開發的,這個API接口文檔真的不可缺少的一部分。
我們開發好項目–>啟動–>測試–>前端查看API文檔–>數據渲染。用Swagger可以不用寫自己寫了,可以直接在代碼中聲明,非常方便,也易于更改。
我這個東東可以直接CV哈,沒啥特殊的,直接可以跑起來滴。😁😁😁
2)介紹
Swagger 是一個用于生成、描述和調用 RESTful 接口的 Web 服務。通俗的來講,Swagger 就是將項目中所有(想要暴露的)接口展現在頁面上,并且可以進行接口調用和測試的服務。
3)作用
二、快速開始
案例:
寫一個RESTFUL風格的增刪改查哈,然后展示接口哈。
2.1、步驟:
2.2、導入依賴:
<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version> </dependency> <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version> </dependency>2.3、yml配置文件
server:port: 8088 spring:application:name: springboot-swagger swagger:enable: true2.4、SwaggerConfig配置類
import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; import springfox.documentation.builders.RequestHandlerSelectors; 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;import java.util.ArrayList;/*** @version 1.0* @author: crush* @date: 2020-12-01 10:48* @EnableSwagger2 啟動使用Swagger2*/ @Configuration @EnableSwagger2 public class SwaggerConfig {// 通過配置文件中這個變量的值來開啟或關閉@Value("${swagger.enable}")private Boolean enable;@Beanpublic Docket docket(Environment environment) {return new Docket(DocumentationType.SWAGGER_2).enable(enable).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.crush.swagger")).build();}public ApiInfo apiInfo() {// 這里是作者信息及文檔的基本信息 和頁面展示信息一一對照即可 Contact contact = new Contact("springboot-swagger ", "https://blog.csdn.net/weixin_45821811?spm=1011.2124.3001.5343", "951930136@qq.com");return new ApiInfo("springboot-swagger Demo API接口文檔","此處填寫描述信息","1.0","urn:tos",contact,"Apache 2.0","http://www.apache.org/licenses/LICENSE-2.0",new ArrayList());} }2.4、實體類
@Data @Accessors(chain = true) @ApiModel(description = "賬戶相關信息類") public class Account {@ApiModelProperty("賬號")private String username;@ApiModelProperty("密碼")private String password; }2.5、Service層
public interface AccountService {/*** 注冊* @param account* @return*/boolean register(Account account);/*** 查詢全部*/List<Account> select(); }impl:我此處只是用了靜態變量模擬了一下~~(太懶啦捂臉)~~
@Service public class AccountServiceImpl implements AccountService {private static List<Account> accountList = new ArrayList<Account>();@Overridepublic boolean register(Account account) {accountList.add(account);return true;}@Overridepublic List<Account> select() {return accountList;} }2.6、Controller
@Api(tags = "賬戶相關接口") @RestController @RequestMapping("/account") public class AccountController {private final AccountService accountService;public AccountController(AccountService accountService) {this.accountService = accountService;}@ApiOperation("注冊接口")@PostMapping("/register")public String register(@RequestBody @ApiParam(required = true, value = "注冊賬戶需要的信息") Account account) {accountService.register(account);return "OK";}@ApiOperation("查詢全部")@GetMappingpublic List<Account> select() {return accountService.select();} }啟動類就是普普通通的沒啥特殊的,讓我們直接開始吧。
@Slf4j @SpringBootApplication public class SpringBootSwagger {public static void main(String[] args) {SpringApplication.run(SpringBootSwagger.class);log.info("API接口訪問鏈接:http://localhost:8088/swagger-ui.html");} }三、測試
初始信息:
啟動之后輸入:就能看到頁面
http://localhost:8088/swagger-ui.html之前配置的相關信息就也會全部展示在上面。
接口:
我們點開接口看一下
測試:
然后我們通過我們的查詢接口也能夠查詢到了
完事啦,摸魚啦摸魚啦👨?💻
四、Swagger VS PostMan
Swagger的優點:
- 便于更改,易讀簡單明了,非常方便。
缺點:
- 缺點:也很明,就是不能夠自動化,每次都需要自己輸入數據,這點很不好。
- 但是Swagger是可以把API導入到Postman中的。下篇文章講(狗頭保命🙆?♂?)
Postaman的優點:
缺點我我沒雜感覺到。
結論:對于我們來講,無論是Swagger和PostMan都是需要掌握的,這是最基本最基本的要求。
五、自言自語
你好,我是博主寧在春😁
如果你看到這篇文章,并且覺得對你有益的話,就給個贊吧,讓我感受一下分享的喜悅吧,蟹蟹。🤗
如若有寫的有誤的地方,也請大家不嗇賜教!!
同樣如若有存在疑惑的地方,請留言或私信,定會在第一時間回復你。
持續更新中
總結
以上是生活随笔為你收集整理的SpringBoot整合Swagger 自动生成在线API文档 偷懒必备 同时也是我们的基本操作啦!!!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Boot 使用Actuat
- 下一篇: SpringBoot整合异步任务实现发送