SpringBoot中的内容协商器图解
短信预约 -IT技能 免费直播动态提醒
背景
使用了restful的小伙伴对于导出这些需求本能就是拒绝的~破坏了restful的url的一致性【严格矫正 不是http json就是restful 很多小伙伴都会吧暴露出一个json就直接称为restful 】
正如上文的代码生成器 我们会批量生成一堆代码 其中绝大部分都是RestController
public abstract class AbstractRestController<V extends Vo, S extends So, PK extends Serializable> { protected Class<V> voClazz; @Autowired private Service<V, S, PK> service; public AbstractRestController() { TypeToken<V> voType = new TypeToken<V>(getClass()) { }; voClazz = (Class<V>) voType.getRawType(); } @PostMapping() @ApiOperation(value = "新建实体", notes = "") public Result add(@RequestBody V vo) { service.saveSelective(vo); return ResultGenerator.genSuccessResult(); } @DeleteMapping("/{id}") @ApiOperation(value = "删除实体", notes = "") public Result delete(@PathVariable PK id) { service.deleteById(id); return ResultGenerator.genSuccessResult(); } @PutMapping @ApiOperation(value = "更新实体", notes = "") public Result update(@RequestBody V vo) { service.updateByPrimaryKeySelective(vo); return ResultGenerator.genSuccessResult(); } @GetMapping @ApiOperation(value = "获取实体列表", notes = "") public Result list(S so) { PageHelper.startPage(so.getCurrentPage(), so.getPageSize()); List<V> list = service.findAll(); PageInfo pageInfo = new PageInfo(list); excelExportParam(); return ResultGenerator.genSuccessResult(pageInfo); } protected void excelExportParam() { ExportParams ep = new ExportParams(null, "数据"); ExcelExportParam<V> param = new ExcelExportParam<>(); param.setClazz(voClazz); param.setExcelExport(ExcelExport.NormalExcel); param.setExportParams(ep); param.setFileName("文件.xls"); F6Static.setExcelExportParam(param); } @GetMapping("/{id}") @ApiOperation(value = "获取单个实体", notes = "") public Result detail(@PathVariable PK id) { V vo = service.findById(id); return ResultGenerator.genSuccessResult(vo); } @DeleteMapping("/batch") @ApiOperation(value = "批量删除实体", notes = "") public Result batchDelete(@RequestParam String ids) { service.deleteByIds(ids); return ResultGenerator.genSuccessResult(); } @GetMapping("/batch") @ApiOperation(value = "批量获取实体", notes = "") public Result batchDetail(@RequestParam String ids) { List<V> vos = service.findByIds(ids); return ResultGenerator.genSuccessResult(vos); } @PostMapping("/batch") @ApiOperation(value = "批量新建实体", notes = "") public Result add(@RequestBody List<V> vos) { service.save(vos); return ResultGenerator.genSuccessResult(); } @GetMapping("/count") @ApiOperation(value = "获取实体数目", notes = "") public Result count(@RequestBody V v) { int count = service.selectCount(v); return ResultGenerator.genSuccessResult(count); }
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
SpringBoot中的内容协商器图解
下载Word文档到电脑,方便收藏和打印~
下载Word文档
猜你喜欢
SpringBoot中的内容协商器图解
背景使用了restful的小伙伴对于导出这些需求本能就是拒绝的~破坏了restful的url的一致性【严格矫正 不是http json就是restful 很多小伙伴都会吧暴露出一个json就直接称为restful 】正如上文的代码生成器 我
2023-05-30
2023-11-13
如何解决flex布局中保持内容不超出容器的问题
这篇文章将为大家详细讲解有关如何解决flex布局中保持内容不超出容器的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在移动端,flex 布局很好用,它能够根据设备宽度来自动调整容器的宽度,用起来很方便
2023-06-08
如何理解Java图形界面开发中的Swing容器
今天就跟大家聊聊有关如何理解Java图形界面开发中的Swing容器,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。11.5 JViewport类JViewport很少在JScrollP
2023-06-17
2023-10-30