目錄
背景介紹,swagger的必要性
swagger的引入:
1.首先我們需要在 pom.xml文件中導入jar包
2.給swagger創建一個配置類:
3.為實體類添加注解
4.為controller添加注解
背景介紹,swagger的必要性
? 自從在2005年前端工程師誕生之后,隨著js技術的進步和人們對網頁的需求越來越高,全棧式程序員逐漸滿足不了需求,所以前后端分離就被人提了出來。
? 然而,前后端分離雖然相比于全棧式減輕了程序員的負擔但也產生了一個新的問題:前后端的交流問題。
? 因為我們知道,前端和后端是高度依賴的,在前端和后端進行數據傳輸的時候經常會因為一些命名問題導致報錯,全棧式程序員會遇到這個問題更何況前后端分離。所以命名的規范以及前后端程序員的溝通就顯得非常重要。
? 在這個過程中,需要我們后端程序員來給前端提交一個API文檔。上面介紹著我們的那些方法,以及實體類中的變量名稱,這是一個非常麻煩的問題,那么,有沒有一個組件能幫助我們后端程序員自動生成這個API文檔呢?
? 也就我們的主角登場:swagger
? swagger可以幫助我們在創建實體類的時候就創建這個API僅僅只需要一些注解標簽。
swagger的引入:
1.首先我們需要在 pom.xml文件中導入jar包
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
<version>4.4.0</version>
</dependency>
2.給swagger創建一個配置類:
@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfiguration {@Bean(value = "dockerBean")public Docket dockerBean() {//指定使用Swagger2規范Docket docket=new Docket(DocumentationType.SWAGGER_2).apiInfo(new ApiInfoBuilder()//描述字段支持Markdown語法.description("# Knife4j RESTful APIs").termsOfServiceUrl("https://doc.xiaominfo.com/").contact("xiaoymin@foxmail.com").version("1.0").build())//分組名稱.groupName("用戶服務").select()//這里指定Controller掃描包路徑.apis(RequestHandlerSelectors.basePackage("com.ffyc.news.web")).paths(PathSelectors.any()).build();return docket;}
}
3.為實體類添加注解
4.為controller添加注解
最后我們需要前段的訪問地址:
http://ip:端口/doc.html