java - spring5 webflux,如何返回自定义json数据?
问题描述
当我不使用 webflux 时,我的代码
1.public Map<String, Object> registerService(User user) {
Map<String, Object> map = new HashMap<>(8);
map.put("status":1);
userRepository.save(user);
return map;
当我使用 webflux 时,我的代码
2.public Mono<Map<String, Object>> registerService(User user) {
Map<String, Object> map = new HashMap<>(8);
map.put("status", 1);
userRepository.save(user);
return Mono.just(map);
}
和 2. 响应是 "{"status":1}",但用户不要插入 mongo
在 webflux 中,我无法得到与 1. 相同的响应,那么该怎么做呢?
我不想返回用户,只返回我自定义的地图,然后用户插入到 mongodb
解决方案
假设您的用户存储库返回类型也是 Mono,并且您想返回您的自定义地图,您可以这样做
public Mono<Map<String, Object>> registerService(User user) {
return userRepository.save(user)
.map(__ -> {
Map<String, Object> map = new HashMap<>();
map.put("status", 1);
return map;
});
}
在上面的代码中,您并没有破坏反应链,而是像您想要的那样返回您的自定义地图。
推荐阅读
- python - 正则表达式将所有大写单词与以大写字母开头的单词分开
- json - 通过 Cloud Watch 将结构良好的 JSON 数据导入 ElasticSearch
- vb.net - 我无法关闭 userform-me.close,无法正常工作
- javascript - 为什么我的日期在 TypeScript 中不起作用?
- angular - 枚举的 TypeScript 类型是什么
- php - 使用 2 个参数重定向 php url
- flutter - 在 vs 代码中设置颤动时遇到问题
- python - 使用 aa for 循环从列表中的列表移动
- python - 在 VSCode 中从另一个 python 文件导入一个 python 文件
- java - Android Java:删除鼠标上的边界