Springboot整合swagger-ui接口

首先pom.xml添加依賴(lài)?

<dependency>

<groupId>io.springfox</groupId>

<artifactId>springfox-swagger2</artifactId>

<version>2.2.2</version>

</dependency>

<dependency>

<groupId>io.springfox</groupId>

<artifactId>springfox-swagger-ui</artifactId>

<version>2.2.2</version>

</dependency>

在Application.java同級(jí)創(chuàng)建Swagger2的配置類(lèi)Swagger2


@Configuration

@EnableSwagger2

publicclassSwagger2{

@Bean

publicDocketcreateRestApi(){

returnnewDocket(DocumentationType.SWAGGER_2)

? ? ? ? ? ? ? ? .apiInfo(apiInfo())

? ? ? ? ? ? ? ? .select()

????????????????.apis(RequestHandlerSelectors.basePackage("com.didispace.web"))

? ? ? ? ? ? ? ? .paths(PathSelectors.any())

? ? ? ? ? ? ? ? .build();

? ? }

privateApiInfoapiInfo(){

returnnewApiInfoBuilder()

.title("Spring Boot中使用Swagger2構(gòu)建RESTful APIs")

.description("更多Spring Boot相關(guān)文章請(qǐng)關(guān)注:廣告鏈接")

.termsOfServiceUrl(" 廣告鏈接? url")

.contact("XXX")

.version("1.0")

? ? ? ? ? ? ? ? .build();

? ? }

}

@Configuration是用來(lái)讓springboot來(lái)加載該配置的

然后@EnableSwagger2這個(gè)是使用swageer注解。


@RestController

@RequestMapping(value="/users")// 通過(guò)這里配置使下面的映射都在/users下,可去除

publicclassUserController{

staticMap users = Collections.synchronizedMap(newHashMap());

@ApiOperation(value="獲取用戶(hù)列表", notes="")

@RequestMapping(value={""}, method=RequestMethod.GET)

publicListgetUserList(){

List r =newArrayList(users.values());

returnr;

? ? }

@ApiOperation(value="創(chuàng)建用戶(hù)", notes="根據(jù)User對(duì)象創(chuàng)建用戶(hù)")

@ApiImplicitParam(name ="user", value ="用戶(hù)詳細(xì)實(shí)體user", required =true, dataType ="User")

@RequestMapping(value="", method=RequestMethod.POST)

publicStringpostUser(@RequestBody User user){

? ? ? ? users.put(user.getId(), user);

return"success";

? ? }

@ApiOperation(value="獲取用戶(hù)詳細(xì)信息", notes="根據(jù)url的id來(lái)獲取用戶(hù)詳細(xì)信息")

@ApiImplicitParam(name ="id", value ="用戶(hù)ID", required =true, dataType ="Long")

@RequestMapping(value="/{id}", method=RequestMethod.GET)

publicUsergetUser(@PathVariable Long id){

returnusers.get(id);

? ? }

@ApiOperation(value="更新用戶(hù)詳細(xì)信息", notes="根據(jù)url的id來(lái)指定更新對(duì)象,并根據(jù)傳過(guò)來(lái)的user信息來(lái)更新用戶(hù)詳細(xì)信息")

@ApiImplicitParams({

@ApiImplicitParam(name ="id", value ="用戶(hù)ID", required =true, dataType ="Long"),

@ApiImplicitParam(name ="user", value ="用戶(hù)詳細(xì)實(shí)體user", required =true, dataType ="User")

? ? })

@RequestMapping(value="/{id}", method=RequestMethod.PUT)

publicStringputUser(@PathVariable Long id, @RequestBody User user){

? ? ? ? User u = users.get(id);

? ? ? ? u.setName(user.getName());

? ? ? ? u.setAge(user.getAge());

? ? ? ? users.put(id, u);

return"success";

? ? }

@ApiOperation(value="刪除用戶(hù)", notes="根據(jù)url的id來(lái)指定刪除對(duì)象")

@ApiImplicitParam(name ="id", value ="用戶(hù)ID", required =true, dataType ="Long")

@RequestMapping(value="/{id}", method=RequestMethod.DELETE)

publicStringdeleteUser(@PathVariable Long id){

? ? ? ? users.remove(id);

return"success";

? ? }

}

代碼部分結(jié)束,然后迫不及待的去訪問(wèn)http://localhost:8080/swagger-ui.html,會(huì)報(bào)這個(gè)錯(cuò)



說(shuō)明 /swagger-ui.html 還沒(méi)有映射到我們下載的swagger。


@Override

public void addResourceHandlers(ResourceHandlerRegistry registry) {

????????????????registry.addResourceHandler("swagger-ui.html")

? ? ? ? ? ? ? ? .addResourceLocations("classpath:/META-INF/resources/");

}

最后自定義的 類(lèi) (繼承WebMvcConfigurerAdapter)類(lèi),生效的

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容