日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

Springboot 整合 swagger

發(fā)布時(shí)間:2025/3/8 javascript 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Springboot 整合 swagger 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。 https://blog.csdn.net/weixin_40254498/article/details/83622098

swagger

主要是為后端服務(wù)的接口文檔,懶人必備,swagger就是一款讓你更好的書(shū)寫(xiě)API文檔的框架。
其他的框架有阿里爸爸推出 Rap ,感興趣的可以自己了解一下。
本文主要基于springboot,要先了解下springboot;

開(kāi)始

Maven

本項(xiàng)目基于maven
springboot pom 中添加

<!-- swagger --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.5.0</version></dependency><!-- swagger-ui --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.5.0</version></dependency><dependency><groupId>io.github.swagger2markup</groupId><artifactId>swagger2markup-spring-restdocs-ext</artifactId><version>2.5.0</version><scope>test</scope></dependency>

啟動(dòng)

package com.example.demo;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication;/*** @author Dwxqnswxl*/ @EnableAutoConfiguration @SpringBootApplication(scanBasePackages = "com.example") public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);} }

配置

import springfox.documentation.service.Contact; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2;/*** Description** @Author : huangjinxing* @Email : hmm7023@gmail.com* @Date : 2018/10/24 11:10* @Version :*/ @Configuration @EnableSwagger2 public class SwaggerConfig {@Beanpublic Docket swaggerSpringMvcPlugin() {return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)).build();}@Beanpublic ApiInfo apiInfo() {return new ApiInfoBuilder().title("接口列表 v1.1.0").description("接口測(cè)試").termsOfServiceUrl("http://localhost:8080/").contact(new Contact("HUANGJINXING","www.dwxqnswxl.cn","hmm7023@gmail.com")).version("1.1.0").build();}}

Controller

package com.example.controller;import com.example.bean.User; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; import org.springframework.web.context.request.async.DeferredResult;import java.util.HashMap; import java.util.Map;/*** Description** @Author : huangjinxing* @Email : hmm7023@gmail.com* @Date : 2018/10/24 11:12* @Version :*/ @Api() @RestController @RequestMapping("/demoController") public class DemoController {private static final Logger log = LoggerFactory.getLogger(DemoController.class);public static final String RET_CODE = "retCode";public static final String RET_MSG = "retMsgo";@ApiOperation(value = "新增用戶(hù)", notes = "新增注冊(cè)")@PostMapping(value = "/createUser", consumes = MediaType.APPLICATION_JSON_VALUE)public DeferredResult createUser(@RequestBody User user) {log.info("createUser:::" , user.toString());DeferredResult deferredResult = new DeferredResult();Map map = new HashMap();map.put(RET_CODE, HttpStatus.OK.value());map.put(RET_MSG, "新增成功.");deferredResult.setResult(map);return deferredResult;}@ApiOperation(value = "修改用戶(hù)", notes = "修改用戶(hù)")@PostMapping(value = "/updateUser", consumes = MediaType.APPLICATION_JSON_VALUE)public DeferredResult updateUser(@RequestBody User user) {log.info("updateUser:::" , user.toString());DeferredResult deferredResult = new DeferredResult();Map map = new HashMap();map.put(RET_CODE, HttpStatus.OK.value());map.put(RET_MSG, "修改成功.");deferredResult.setResult(map);return deferredResult;}@ApiOperation(value = "刪除用戶(hù)", notes = "刪除用戶(hù)")@ApiImplicitParams({@ApiImplicitParam(name = "userId", value = "用戶(hù)標(biāo)識(shí)", required = true, paramType = "query", dataType = "String")})@DeleteMapping(value = "/deleteUser")public DeferredResult deleteUser(@RequestParam("userId") String userId) {log.info("deleteUser:::" , userId);DeferredResult deferredResult = new DeferredResult();Map map = new HashMap();map.put(RET_CODE, HttpStatus.OK.value());map.put(RET_MSG, "刪除成功.");deferredResult.setResult(map);return deferredResult;}@ApiOperation(value = "查詢(xún)用戶(hù)", notes = "查詢(xún)用戶(hù)")@ApiImplicitParams({@ApiImplicitParam(name = "userId", value = "用戶(hù)標(biāo)識(shí)", required = true, paramType = "query", dataType = "String")})@GetMapping(value = "/queryUser")public DeferredResult queryUser(@RequestParam("userId") String userId) {log.info("queryUser:::" , userId);DeferredResult deferredResult = new DeferredResult();Map map = new HashMap();map.put(RET_CODE, HttpStatus.OK.value());map.put(RET_MSG, "查詢(xún)成功.");map.put("username", "張三.");map.put("password", "123456");deferredResult.setResult(map);return deferredResult;} }

User類(lèi)

package com.example.bean;/*** Description** @Author : huangjinxing* @Email : hmm7023@gmail.com* @Date : 2018/10/24 11:16* @Version :*/ public class User {private String username;private String password;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "User{" +"username='" + username + '\'' +", password='" + password + '\'' +'}';} }

啟動(dòng)

登陸 http://localhost:8080/swagger-ui.html#/ 就可以看到有UI的 接口 swagger的功能不止如此。

效果



總結(jié)

以上是生活随笔為你收集整理的Springboot 整合 swagger的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。