You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dsl3/controller/ResourceController.java

58 lines
2.3 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.aurora.controller;
import com.aurora.annotation.OptLog;
import com.aurora.model.dto.LabelOptionDTO;
import com.aurora.model.dto.ResourceDTO;
import com.aurora.model.vo.ResultVO;
import com.aurora.service.ResourceService;
import com.aurora.model.vo.ConditionVO;
import com.aurora.model.vo.ResourceVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
import static com.aurora.constant.OptTypeConstant.*;
@Api(tags = "资源模块")
@RestController
public class ResourceController {
@Autowired
private ResourceService resourceService;//调用Service层的资源业务方法
@ApiOperation(value = "查看资源列表")//获取后台管理的资源列表(比如系统的菜单资源、接口资源等)
@GetMapping("/admin/resources")
public ResultVO<List<ResourceDTO>> listResources(ConditionVO conditionVO) {
return ResultVO.ok(resourceService.listResources(conditionVO));
}
@OptLog(optType = DELETE)
@ApiOperation(value = "删除资源")
@DeleteMapping("/admin/resources/{resourceId}")//{resourceId}为路径参数,前端需传入具体的资源ID
public ResultVO<?> deleteResource(@PathVariable("resourceId") Integer resourceId) {
resourceService.deleteResource(resourceId);
return ResultVO.ok();
}
@OptLog(optType = SAVE_OR_UPDATE)
@ApiOperation(value = "新增或修改资源")
@PostMapping("/admin/resources")
public ResultVO<?> saveOrUpdateResource(@RequestBody @Valid ResourceVO resourceVO) {
//ResourceVO resourceVO封装资源新增、修改的参数包含资源名称、路径、类型、父资源ID等信息
resourceService.saveOrUpdateResource(resourceVO);
return ResultVO.ok();
}
//获取用于角色分配资源时的选项列表(比如给某个角色配置可访问的资源时,展示所有可选的资源)
@ApiOperation(value = "查看角色资源选项")
@GetMapping("/admin/role/resources")
//返回所有可用的资源选项列表
public ResultVO<List<LabelOptionDTO>> listResourceOption() {
return ResultVO.ok(resourceService.listResourceOption());
}
}