From d9e54388e7fde2462e8b7e0165c5e7da3f202593 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期四, 07 七月 2022 19:07:59 +0800 Subject: [PATCH] add 整合 springdoc-openapi-javadoc 基于代码注释生成文档 --- ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java | 78 ++++++++++++++++++--------------------- 1 files changed, 36 insertions(+), 42 deletions(-) diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java index 0307d13..50bcbd0 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java @@ -1,28 +1,30 @@ package com.ruoyi.demo.controller; +import cn.dev33.satoken.annotation.SaCheckPermission; import cn.hutool.core.bean.BeanUtil; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.RepeatSubmit; import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.domain.PageQuery; +import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.core.validate.QueryGroup; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.excel.ExcelResult; import com.ruoyi.common.utils.ValidatorUtils; -import com.ruoyi.common.utils.poi.ExcelResult; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.demo.domain.TestDemo; import com.ruoyi.demo.domain.bo.TestDemoBo; import com.ruoyi.demo.domain.bo.TestDemoImportVo; import com.ruoyi.demo.domain.vo.TestDemoVo; import com.ruoyi.demo.service.ITestDemoService; -import io.swagger.annotations.*; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.enums.ParameterIn; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -41,8 +43,8 @@ * @date 2021-07-26 */ @Validated -@Api(value = "娴嬭瘯鍗曡〃鎺у埗鍣�", tags = {"娴嬭瘯鍗曡〃绠$悊"}) -@RequiredArgsConstructor(onConstructor_ = @Autowired) +@Tag(name ="娴嬭瘯鍗曡〃鎺у埗鍣�", description = "娴嬭瘯鍗曡〃绠$悊") +@RequiredArgsConstructor @RestController @RequestMapping("/demo/demo") public class TestDemoController extends BaseController { @@ -52,75 +54,69 @@ /** * 鏌ヨ娴嬭瘯鍗曡〃鍒楄〃 */ - @ApiOperation("鏌ヨ娴嬭瘯鍗曡〃鍒楄〃") - @PreAuthorize("@ss.hasPermi('demo:demo:list')") + @SaCheckPermission("demo:demo:list") @GetMapping("/list") - public TableDataInfo<TestDemoVo> list(@Validated(QueryGroup.class) TestDemoBo bo) { - return iTestDemoService.queryPageList(bo); + public TableDataInfo<TestDemoVo> list(@Validated(QueryGroup.class) TestDemoBo bo, PageQuery pageQuery) { + return iTestDemoService.queryPageList(bo, pageQuery); } /** * 鑷畾涔夊垎椤垫煡璇� */ - @ApiOperation("鑷畾涔夊垎椤垫煡璇�") - @PreAuthorize("@ss.hasPermi('demo:demo:list')") + @SaCheckPermission("demo:demo:list") @GetMapping("/page") - public TableDataInfo<TestDemoVo> page(@Validated(QueryGroup.class) TestDemoBo bo) { - return iTestDemoService.customPageList(bo); + public TableDataInfo<TestDemoVo> page(@Validated(QueryGroup.class) TestDemoBo bo, PageQuery pageQuery) { + return iTestDemoService.customPageList(bo, pageQuery); } - @ApiOperation("瀵煎叆娴嬭瘯鍗曡〃") - @ApiImplicitParams({ - @ApiImplicitParam(name = "file", value = "瀵煎叆鏂囦欢", dataType = "java.io.File", required = true), + @Parameters({ + @Parameter(name = "file", description = "瀵煎叆鏂囦欢", in = ParameterIn.QUERY, required = true), }) @Log(title = "娴嬭瘯鍗曡〃", businessType = BusinessType.IMPORT) - @PreAuthorize("@ss.hasPermi('demo:demo:import')") + @SaCheckPermission("demo:demo:import") @PostMapping("/importData") - public AjaxResult<Void> importData(@RequestPart("file") MultipartFile file) throws Exception { - ExcelResult<TestDemoImportVo> excelResult = ExcelUtil.importExcel(file.getInputStream(), TestDemoImportVo.class, true, true); + public R<Void> importData(@RequestPart("file") MultipartFile file) throws Exception { + ExcelResult<TestDemoImportVo> excelResult = ExcelUtil.importExcel(file.getInputStream(), TestDemoImportVo.class, true); List<TestDemoImportVo> volist = excelResult.getList(); List<TestDemo> list = BeanUtil.copyToList(volist, TestDemo.class); - iTestDemoService.saveAll(list); - return AjaxResult.success(excelResult.getAnalysis()); + iTestDemoService.saveBatch(list); + return R.ok(excelResult.getAnalysis()); } /** * 瀵煎嚭娴嬭瘯鍗曡〃鍒楄〃 */ - @ApiOperation("瀵煎嚭娴嬭瘯鍗曡〃鍒楄〃") - @PreAuthorize("@ss.hasPermi('demo:demo:export')") + @SaCheckPermission("demo:demo:export") @Log(title = "娴嬭瘯鍗曡〃", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(@Validated TestDemoBo bo, HttpServletResponse response) { List<TestDemoVo> list = iTestDemoService.queryList(bo); // 娴嬭瘯闆姳id瀵煎嚭 // for (TestDemoVo vo : list) { -// vo.setId(1234567891234567893L); -// } +// vo.setId(1234567891234567893L); +// } ExcelUtil.exportExcel(list, "娴嬭瘯鍗曡〃", TestDemoVo.class, response); } /** * 鑾峰彇娴嬭瘯鍗曡〃璇︾粏淇℃伅 */ - @ApiOperation("鑾峰彇娴嬭瘯鍗曡〃璇︾粏淇℃伅") - @PreAuthorize("@ss.hasPermi('demo:demo:query')") + @SaCheckPermission("demo:demo:query") @GetMapping("/{id}") - public AjaxResult<TestDemoVo> getInfo(@ApiParam("娴嬭瘯ID") + public R<TestDemoVo> getInfo(@Parameter(name = "娴嬭瘯ID") @NotNull(message = "涓婚敭涓嶈兘涓虹┖") @PathVariable("id") Long id) { - return AjaxResult.success(iTestDemoService.queryById(id)); + return R.ok(iTestDemoService.queryById(id)); } /** * 鏂板娴嬭瘯鍗曡〃 */ - @ApiOperation("鏂板娴嬭瘯鍗曡〃") - @PreAuthorize("@ss.hasPermi('demo:demo:add')") + @SaCheckPermission("demo:demo:add") @Log(title = "娴嬭瘯鍗曡〃", businessType = BusinessType.INSERT) - @RepeatSubmit(interval = 2, timeUnit = TimeUnit.SECONDS, message = "涓嶅厑璁搁噸澶嶆彁浜�") + @RepeatSubmit(interval = 2, timeUnit = TimeUnit.SECONDS, message = "{repeat.submit.message}") @PostMapping() - public AjaxResult<Void> add(@RequestBody TestDemoBo bo) { + public R<Void> add(@RequestBody TestDemoBo bo) { // 浣跨敤鏍¢獙宸ュ叿瀵规爣 @Validated(AddGroup.class) 娉ㄨВ // 鐢ㄤ簬鍦ㄩ潪 Controller 鐨勫湴鏂规牎楠屽璞� ValidatorUtils.validate(bo, AddGroup.class); @@ -130,23 +126,21 @@ /** * 淇敼娴嬭瘯鍗曡〃 */ - @ApiOperation("淇敼娴嬭瘯鍗曡〃") - @PreAuthorize("@ss.hasPermi('demo:demo:edit')") + @SaCheckPermission("demo:demo:edit") @Log(title = "娴嬭瘯鍗曡〃", businessType = BusinessType.UPDATE) @RepeatSubmit @PutMapping() - public AjaxResult<Void> edit(@Validated(EditGroup.class) @RequestBody TestDemoBo bo) { + public R<Void> edit(@Validated(EditGroup.class) @RequestBody TestDemoBo bo) { return toAjax(iTestDemoService.updateByBo(bo) ? 1 : 0); } /** * 鍒犻櫎娴嬭瘯鍗曡〃 */ - @ApiOperation("鍒犻櫎娴嬭瘯鍗曡〃") - @PreAuthorize("@ss.hasPermi('demo:demo:remove')") + @SaCheckPermission("demo:demo:remove") @Log(title = "娴嬭瘯鍗曡〃", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") - public AjaxResult<Void> remove(@ApiParam("娴嬭瘯ID涓�") + public R<Void> remove(@Parameter(name = "娴嬭瘯ID涓�") @NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") @PathVariable Long[] ids) { return toAjax(iTestDemoService.deleteWithValidByIds(Arrays.asList(ids), true) ? 1 : 0); -- Gitblit v1.9.3