SpringWebFlux使用笔记

记录使用SpringWebFlux的一些笔记。

groupBy

对flux进行分组。

1
2
3
4
5
6
7
8
9
10
channelOnlineCityBoFlux.sort((s1, s2) -> Objects.requireNonNull(s1.getInitial()).compareTo(s2.getInitial()))
.groupBy(city -> city.getInitial().substring(0, 1).toUpperCase())
.sort((s1, s2) -> Objects.requireNonNull(s1.key()).compareTo(s2.key()))
.flatMap(gf -> gf.collectList()
.map(cityList -> {
ChannelOnlineCityGroupByPinYinBo cityGroupByPinYinBo = new ChannelOnlineCityGroupByPinYinBo();
cityGroupByPinYinBo.setLetter(gf.key());
cityGroupByPinYinBo.setCities(cityList);
return cityGroupByPinYinBo;
}));

handle

handle作用相当于是filter和map的组合。

repo做查询操作时一定写要把查不到数据的分支,并抛出异常,不然service层去用时可能就会出现流中断,无数据,特别是flux,会少数据,很难排查出问题。

0%