SpringBoot入门-集成Swagger,统一返回值

魔法少女 2024-06-07 ⋅ 21 阅读

简介

在开发SpringBoot项目时,集成Swagger和统一返回值是非常常见且重要的步骤。Swagger可以方便地生成API文档,统一返回值则能提高开发效率和代码的健壮性。本文将介绍如何简单地集成Swagger和统一返回值。

步骤一:集成Swagger

Swagger是一种API文档生成工具,可以方便地查看和测试API接口。下面是集成Swagger的步骤:

  1. pom.xml中添加Swagger的依赖:
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-boot-starter</artifactId>
    <version>3.0.0</version>
</dependency>
  1. Application.java中加上@EnableSwagger2注解:
@SpringBootApplication
@EnableSwagger2
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
  1. 创建一个配置类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文档的路径。

  1. 启动项目,浏览器访问http://localhost:8080/swagger-ui.html即可查看生成的API文档。

步骤二:统一返回值

统一返回值可以规范API接口返回的数据格式,方便前端处理。下面是实现统一返回值的步骤:

  1. 定义一个通用的返回结果类ResultVO.java
@Data
public class ResultVO<T> {
    private Integer code;
    private String message;
    private T data;
}
  1. 创建一个全局异常处理器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注解处理所有的异常。

  1. 在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);
}
  1. 启动项目,浏览器访问API接口,查看返回结果是否符合统一的格式。

总结

本文介绍了如何集成Swagger和统一返回值的步骤。通过集成Swagger,我们可以方便地生成API文档,并进行接口的测试。统一返回值则能够规范返回结果的格式,方便前端的调用和处理。在实际项目中,这两个功能是非常常见和有用的,希望本文能够帮助到读者。


全部评论: 0

    我有话说: