第一步:引入依赖
在pom.xml
文件中引入spring-boot-starter-web
和fastjson
依赖:
<dependencies>
<!-- 引入SpringBoot Web组件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 引入fastjson依赖 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.68</version>
</dependency>
</dependencies>
第二步:创建统一返回结果类
创建一个Result
类作为统一返回结果:
public class Result<T> {
private int code;
private String message;
private T data;
// 构造函数和get/set方法省略
}
第三步:添加全局异常处理器
在@RestControllerAdvice
注解修饰的类中,添加@ExceptionHandler
注解修饰的异常处理方法:
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(RuntimeException.class)
public Result<String> exceptionHandler(Exception ex) {
ex.printStackTrace();
return new Result<>(500, ex.getMessage(), null);
}
}
第四步:编写控制器
编写UserController
控制器,其中包含两个方法list
和save
:
@RestController
@RequestMapping("/users")
public class UserController {
private final UserService userService;
@Autowired
public UserController(UserService userService) {
this.userService = userService;
}
@GetMapping
public Result<List<User>> list() {
List<User> userList = userService.list();
return new Result<>(200, "获取用户列表成功", userList);
}
@PostMapping
public Result<String> save(@RequestBody User user) {
userService.save(user);
return new Result<>(200, "保存用户成功", null);
}
}
第五步:测试
启动项目,测试以下两个接口:
- GET请求:http://localhost:8080/users
接口返回结果:
{
"code": 200,
"message": "获取用户列表成功",
"data": [
{
"id": 1,
"name": "张三",
"age": 20
},
{
"id": 2,
"name": "李四",
"age": 25
}
]
}
- POST请求:http://localhost:8080/users
请求体:
{
"name": "王五",
"age": 30
}
接口返回结果:
{
"code": 200,
"message": "保存用户成功",
"data": null
}
第六步:总结
通过以上步骤,我们实现了在SpringBoot项目中使用统一返回结果的功能。通过统一返回结果,可以更加方便地处理接口返回结果,提高开发效率。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解如何在SpringBoot项目中使用统一返回结果 - Python技术站