获取文章列表功能
总说
过程参考黑马程序员SpringBoot3+Vue3全套视频教程,springboot+vue企业级全栈开发从基础、实战到面试一套通关_哔哩哔哩_bilibili
目录
总说
一、功能实现
1.1 Controller层
1.2 Service层
1.3 Impl层
1.4 Mapper层
1.5 测试接口
二、优化
2.1
2.2
一、功能实现
就是写一个根据用户id,返回这个用户的所有分类的接口 list()
1.1 Controller层
在CategoryController中
添加代码
@GetMapping
public Result<List<Category>> list(){
List<Category> cs = categoryService.list(); //调用service中的list方法
return Result.success(cs);
}
1.2 Service层
在CategoryService中,
添加代码如下:
//查询所有分类
List<Category> list();
1.3 Impl层
在CategoryServiceImpl中
添加代码如下:
//查询所有分类
@Override
public List<Category> list() {
//我们只能查询当前用户自己创建的分类,所以还要传入当前用户id
Map<String, Object> map = ThreadLocalUtil.get(); //在线程中获取用户id 就是要传入的创建者id
Integer id = (Integer) map.get("id");
return categoryMapper.list(id);
}
1.4 Mapper层
在CategoryMapper中
添加代码如下
//根据用户id查询所有分类
@Select("select * from category where create_user = #{id}")
List<Category> list(Integer id);
1.5 测试接口
写一个get类型接口如下图:
成功
二、优化
2.1 日期格式转换
我们发现,输出的时间的格式是这样的
我们想在他转成json时指定格式
可以通过在pojo层添加注解实现
在pojo层的Category中
添加注解
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Data
public class Category {
private Integer id;//主键ID
@NotEmpty
private String categoryName;//分类名称
@NotEmpty
private String categoryAlias;//分类别名
private Integer createUser;//创建人ID
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;//创建时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;//更新时间
}
我们再运行测试一下
日期格式成功转化
@JsonFormat注解,一般都是用来规定参数格式,最常用的就是规定时间格式,也可以用来规定数字的格式、时区控制等等,用到的时候可以搜一下