上面是两个接口的代码实现:
moments方法:用于分页查询动态List。其中,@VisitLogger注解表示记录访问行为日志,@RequestParam注解表示获取请求参数中的pageNum值,默认为1;@RequestHeader注解表示获取请求头中的Authorization值,即博主访问Token。通过JwtUtils判断Token是否存在,并根据Token中的身份信息判断是否为博主身份进行权限控制,然后调用momentService中的getMomentVOList方法获取动态列表,并使用PageInfo和PageResult进行分页处理。
like方法:用于给动态点赞。其中,@AccessLimit注解限制了用户在24小时内只能点赞一次,并返回错误提示信息msg;@VisitLogger注解表示记录点赞行为日志。该方法调用momentService中的addLikeByMomentId方法给指定id的动态增加点赞数。
总体来说,这两个接口都采用了AOP编程思想,在业务逻辑执行前、执行后或者出现异常时自动触发相关操作(记录日志、权限控制、限流等)。这样可以减少代码冗余度,提高代码可读性和可维护性。