pom.xml文件中加入依賴
成都創(chuàng)新互聯(lián)從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元鎮(zhèn)巴做網(wǎng)站,已為上家服務(wù),為鎮(zhèn)巴各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108org.springframework.boot spring-boot-starter-parent 2.6.4 org.springframework.boot spring-boot-starter-web
搜索依賴網(wǎng)址為:https://mvnrepository.com/
創(chuàng)建controller
@RestController // 包含Controller ResponseBody
public class indexController {@GetMapping("/index")
public Object index(){ return "hello spring boot";
}
}
創(chuàng)建啟動(dòng)類
@SpringBootApplication
public class AppServer {public static void main(String[] args) {SpringApplication.run(AppServer.class,args);
}
}
1.2 使用spring initializr創(chuàng)建選擇URL為https://start.spring.io創(chuàng)建項(xiàng)目
創(chuàng)建maven項(xiàng)目
Custom選擇阿里云鏡像https://start.aliyun.com/創(chuàng)建項(xiàng)目
1.4 本章小結(jié)所有的springboot項(xiàng)目要繼承parent,可以避免中間件版本沖突,阿里云生成的spring項(xiàng)目在spring-boot-dependencies規(guī)定了第三方依賴的版本號(hào)
二、主啟動(dòng)類主啟動(dòng)類@SpringBootApplication注解,類似于對該層文件做了xml注釋,能夠掃描在該層文件夾下的文件
主啟動(dòng)類位置為:
配置文件需要在resources.application文件進(jìn)行配置
推薦使用application.yml文件進(jìn)行配置,在使用yml時(shí)要注意空格
在打包前需要在pom.xml文件中添加以下依賴:
org.springframework.boot spring-boot-maven-plugin
然后可以使用 mvn package 命令進(jìn)行打包
在idea運(yùn)行package
使用java -jar xxx.jar命令運(yùn)行jar
五、springboot整合swagger3 5.1 為什么使用swagger31.前后端分離開發(fā),后端程序員開發(fā)接口,實(shí)時(shí)更新接口操作數(shù)據(jù),前端取后端提供出來的接口數(shù)據(jù),app/web
5.2 整合步驟步驟1:添加springfox-swaage依賴
io.springfox springfox-boot-starter 3.0.0
步驟2:編寫swagger的配置類
package com.bobo.project_spring.config;
import io.swagger.annotations.ApiOperation;
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.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
//配置文件
//@Configuration
public class SwaggerConfig {//寫法固定
@Bean
public Docket apiConfig(){return new Docket(DocumentationType.OAS_30)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
//設(shè)置通過什么方式定位生成文檔的接口
//這里定位了方法上的apiOperaion
.paths(PathSelectors.any())
//any表示全部的路徑
//regex() 正則匹配
.build();
}
private ApiInfo apiInfo(){return new ApiInfoBuilder()
.title("項(xiàng)目")
.description("項(xiàng)目信息")
.contact(new Contact("1","www.baidu.com","911*****@qq.com"))
.version("1.0")
.build();
}
}
在啟動(dòng)時(shí)報(bào)錯(cuò): documentationPluginsBootstrapper
使用swagger3需要在application.yml中配置,swagger則不需要該配置
spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher
步驟3:添加相關(guān)注解
@EnableOpenApi //識(shí)別swagger,允許swagger執(zhí)行
該注解添加在啟動(dòng)類,表示允許swagger運(yùn)行
@Api(tags = {“學(xué)生管理”}) //api在類上說明 tags說明類的作用
該注解添加在控制器類
@ApiOperation(value = “顯示全部學(xué)生數(shù)據(jù)”) //表明當(dāng)前方法
該注解添加在方法上
步驟4:打開swagger,http://localhost:8080/swagger-ui/index.html
注:通過@ApiImplicitParams和@ApiImplicitParam注解可以對參數(shù)進(jìn)行描述
@GetMapping("/{id}") //根據(jù)get或者delectmap可以識(shí)別相同的路徑
@ApiOperation(value = "id")
@ApiImplicitParams(
@ApiImplicitParam(
name = "id",value = "學(xué)生id",required = true,dataType = "Integer",dataTypeClass = Integer.class
)
)
public Object selectById(@PathVariable int id){return new Student(id,"張三","男",14);
}
還可以在方法參數(shù)中加入@Apiparas()注解,來說明參數(shù)
如果使用post方式提交請求,可以在模型層添加@ApiModle來標(biāo)注對象中的屬性
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "學(xué)生對象",description = "對應(yīng)數(shù)據(jù)庫student")
public class Student {@ApiModelProperty(value = "學(xué)生id",required = true,example = "1")
private int id;
@ApiModelProperty(value = "學(xué)生名字",required = true,example = "張三")
private String name;
@ApiModelProperty(value = "學(xué)生性別",required = true,example = "男")
private String genbder;
@ApiModelProperty(value = "學(xué)生年齡",required = true,example = "12")
private int age;
public Student(int id, String name, String genbder, int age) {this.id = id;
this.name = name;
this.genbder = genbder;
this.age = age;
}
}
知識(shí)點(diǎn):
restful
/student 查詢 get
/student 新增 put
/student 更改 save
/student 查詢 delect
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧