spring - 弹簧靴。如何在序列化过程之前修改控制器响应
问题描述
我想在序列化过程之前和控制器返回对象之后修改(拦截)响应对象。我有一个 RestController 和一个像这样的 User 类:
public class User {
public String name;
public int id;
public boolean hasErrors;
public User(Sting name, int id) {
this.name = name;
this.id = id;
this.hasErrors = false;
}
}
@RestController
public class UserController {
@GetMapping("/")
public User getUser() {
return userService.performMagicAndGetUser();
}
}
我希望能够修改 UserController::getUser 方法返回的 User 对象,就在它作为 JSON 序列化到 HttpServletResponse 主体之前。所以我想根据“userService.performMagicAndGetUser”方法中发生的事情修改“hasErrors”属性,并存储在某个请求上下文持有者中。我想为返回用户对象的每个端点中的每个请求修改对客户端的最终响应。
解决方案
推荐阅读
- javascript - 父母和孩子 div 大小
- android - Android N, O App Overlay stays after Permission request declined
- c# - 跨站点请求伪造 Asp.net 核心 .cshtml 页面
- r - 在带有偏移项的 glm 上使用 broom (augment) 和 modelr (crossv_kfold) 时出错
- php - Xampp 托管多个应用程序
- javascript - 在不抑制验证组的情况下防止双击提交按钮
- tensorflow - YOLO and adjusting number of anchor boxes for custom dataset
- asp.net-core - EF Core: The name "SqlServerValueGenerationStrategy" does not exist in the current context
- java - 相同的实例应该有相同的引用
- shell - Set specific billing period when ordering Endurance iSCSI storage