简介
在开发SpringBoot项目时,集成Swagger和统一返回值是非常常见且重要的步骤。Swagger可以方便地生成API文档,统一返回值则能提高开发效率和代码的健壮性。本文将介绍如何简单地集成Swagger和统一返回值。
步骤一:集成Swagger
Swagger是一种API文档生成工具,可以方便地查看和测试API接口。下面是集成Swagger的步骤:
- 在
pom.xml
中添加Swagger的依赖:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
- 在
Application.java
中加上@EnableSwagger2
注解:
@SpringBootApplication
@EnableSwagger2
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
- 创建一个配置类
SwaggerConfig.java
,配置Swagger相关参数:
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
.paths(PathSelectors.any())
.build();
}
}
上面的代码指定了扫描的controller包和生成API文档的路径。
- 启动项目,浏览器访问
http://localhost:8080/swagger-ui.html
即可查看生成的API文档。
步骤二:统一返回值
统一返回值可以规范API接口返回的数据格式,方便前端处理。下面是实现统一返回值的步骤:
- 定义一个通用的返回结果类
ResultVO.java
:
@Data
public class ResultVO<T> {
private Integer code;
private String message;
private T data;
}
- 创建一个全局异常处理器
GlobalExceptionHandler.java
:
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public ResultVO<Object> handleException(Exception e){
ResultVO<Object> result = new ResultVO<>();
result.setCode(500);
result.setMessage(e.getMessage());
return result;
}
}
上面的代码通过@RestControllerAdvice
注解将该类标记为全局异常处理器,并使用@ExceptionHandler
注解处理所有的异常。
- 在API接口中,统一返回
ResultVO
对象:
@GetMapping("/user/{id}")
public ResultVO<UserVO> getUser(@PathVariable Integer id){
User user = userService.getUserById(id);
UserVO userVO = convert(user);
return new ResultVO<>(200, "success", userVO);
}
- 启动项目,浏览器访问API接口,查看返回结果是否符合统一的格式。
总结
本文介绍了如何集成Swagger和统一返回值的步骤。通过集成Swagger,我们可以方便地生成API文档,并进行接口的测试。统一返回值则能够规范返回结果的格式,方便前端的调用和处理。在实际项目中,这两个功能是非常常见和有用的,希望本文能够帮助到读者。
本文来自极简博客,作者:魔法少女,转载请注明原文链接:SpringBoot入门-集成Swagger,统一返回值