javascript
springwebflux 页面_Spring Webflux 响应式框架入门
@Componentpublic classBannerHandler {
@AutowiredprivateBannerService bannerService;public MonogetList(ServerRequest request) {//獲取請求參數(shù)
String page = request.queryParam("page").orElse("1");
String size= request.queryParam("rows").orElse("5");
DataGridVO result =bannerService.getList(Integer.valueOf(page), Integer.valueOf(size));returnServerResponse.ok().body(BodyInserters.fromObject(result));
}public Monoupdate(ServerRequest request) {//參數(shù)序列化為實(shí)體類進(jìn)行更新
return request.bodyToMono(Banner.class).flatMap(banner ->{returnServerResponse.ok().contentType(MediaType.APPLICATION_JSON_UTF8)
.body(BodyInserters.fromObject(bannerService.update(banner)));
});
}public Monodeletes(ServerRequest request) {//獲取路徑中的參數(shù)作用等同于 @PathVariable
String ids = request.pathVariable("ids");
Assert.hasText(ids,"ids不能為空");return ServerResponse.ok().body(BodyInserters.fromObject(bannerService.deletes(ids.split(","))));
}public Monoinit(ServerRequest request) {
Map map = new HashMap<>();
map.put("name", "aqiu");
map.put("time", newDate());
List list = new ArrayList();
list.add("param1");
list.add("param2");
list.add("param3");
map.put("list", list);//返回thymeleaf模版頁面
return ServerResponse.ok().render("index", map);
}public Monoupload(ServerRequest request) {//獲取文件參數(shù) 并進(jìn)行存儲
return request.multipartData().flatMap(map ->{
map.forEach((k, v)->{
v.forEach(i->{
FilePart f=(FilePart) i;
f.transferTo(new File("/tmp/" +f.filename()));
});
});returnServerResponse.ok().contentType(MediaType.APPLICATION_JSON_UTF8)
.body(BodyInserters.fromObject(map.size()));
});
}public Monodownload(ServerRequest request) {//讀取文件并包裝為DataBuffer返回,spring-webflux會自動寫入response
File file = new File("/tmp/test.jpeg");return ServerResponse.ok().header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=test.jpeg")
.contentType(MediaType.IMAGE_JPEG).contentLength(file.length())
.body(BodyInserters.fromDataBuffers(Mono.create(r->{
DataBuffer buf= newDefaultDataBufferFactory().wrap(FileIOUtil.syncRead(file));
r.success(buf);return;
})));
}
}
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的springwebflux 页面_Spring Webflux 响应式框架入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 河北省电子工程高级职称公示_2019年河
- 下一篇: 遍历文件夹_使用JavaScript遍历