上上优选项目注意事项

文章介绍了如何在SpringBoot中使用@ControllerAdvice进行全局异常处理,利用Swagger2构建接口文档并控制显示范围,以及在前后端分离开发中处理路径和参数的对应。同时,提到了跨域问题的解决方案,包括@CrossOrigin注解和使用网关。还展示了MybatisPlus在角色管理中的简单应用,包括条件分页查询。
摘要由CSDN通过智能技术生成

1. 全局异常处理自定义异常处理。

        这里用到了@ControllerAdvice注解,加了@ControllerAdvice的类为那些声明了(@ExceptionHandler、@InitBinder 或 @ModelAttribute注解修饰的)方法的类而提供的
专业化的@Component , 以供多个 Controller类所共享。
说白了,就是aop思想的一种实现,你告诉我需要拦截规则,我帮你把他们拦下来,具体你想做更细致的拦截筛选和拦截之后的处理,
你自己通过@ExceptionHandler、@InitBinder 或 @ModelAttribute这三个注解以及被其注解的方法来自定义。
2. 使用Swagger2进行接口文档编写时注意可以设置只显示api路径下的页面

3. 前后端分离开发时,先看前端中的路径与需要的参数,之后后端开发要与之对应。

4. 开发后调试时可以使用Swagger2进行,注意在项目中的包是有引用的,引用后的包同一路径的会整合到该路径的同一个包下,Springboot扫描时会扫描当前包和它的子包,如果扫描不到需要使用@ComponentScan手动引入。之后可以访问localhost:端口/doc.html进行访问调试。

5. 跨域问题,本质时浏览器对ajax请求的一种限制,即访问地址、IP地址和端口号如有不同就访问不到的情况。解决方法有在后端接口controller添加注解@CrossOrigin或使用网关。

6. MybatisPlus的简单使用

public interface RoleService extends IService<Role>{
    IPage<Role> selectPage(Page<Role> pageParam, RoleQueryVo roleQueryVo);
}

@Service
public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements RoleService {
    @Override
    public IPage<Role> selectPage(Page<Role> pageParam, RoleQueryVo roleQueryVo) {
        //获取条件值
        String roleName = roleQueryVo.getRoleName();

        //创建mp条件对象
        LambdaQueryWrapper<Role> wrapper = new LambdaQueryWrapper<>();
        //判断条件值是否为空,不为空则封装查询条件
        if (!StringUtils.isEmpty(roleName)){
            wrapper.like(Role::getRoleName,roleName);
        }
        //调用方法实现条件分页查询
        IPage<Role> page = baseMapper.selectPage(pageParam, wrapper);
        //返回分页对象
        return page;
    }
}

@Repository
public interface RoleMapper extends BaseMapper<Role>{
}

@Api(tags = "角色接口")
@RestController
@RequestMapping("/admin/acl/role")
@CrossOrigin
public class RoleController {
    @Autowired
    private RoleService roleService;

    //1.角色列表(条件分页查询)
    @ApiOperation("获取角色列表")
    @GetMapping("/{page}/{limit}")
    public Result index(@PathVariable Long page,
                        @PathVariable Long limit,
                        RoleQueryVo roleQueryVo){
        //生成page对象,传递当前页和每页记录数
        Page<Role> pageParam = new Page<>(page,limit);
        //调用service方法实现条件分类查询,返回分页对象
        IPage<Role> iPage = roleService.selectPage(pageParam, roleQueryVo);
        return Result.ok(iPage);
    }

    //2 根据id查询角色

    //3 添加角色

    //4 修改角色

    //5 根据id删除角色

    //6 批量删除角色
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值