获取文章列表功能

总说

过程参考黑马程序员SpringBoot3+Vue3全套视频教程,springboot+vue企业级全栈开发从基础、实战到面试一套通关_哔哩哔哩_bilibili

目录

总说

一、功能实现

[1.1 Controller层](#1.1 Controller层)

[1.2 Service层](#1.2 Service层)

[1.3 Impl层](#1.3 Impl层)

[1.4 Mapper层](#1.4 Mapper层)

[1.5 测试接口](#1.5 测试接口)

二、优化

2.1

2.2


一、功能实现

就是写一个根据用户id,返回这个用户的所有分类的接口 list()

1.1 Controller层

在CategoryController中

添加代码

java 复制代码
@GetMapping
public Result<List<Category>> list(){
    List<Category> cs = categoryService.list(); //调用service中的list方法
    return Result.success(cs);
}

1.2 Service层

在CategoryService中,

添加代码如下:

java 复制代码
//查询所有分类
List<Category> list();

1.3 Impl层

在CategoryServiceImpl中

添加代码如下:

java 复制代码
//查询所有分类
@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中

添加代码如下

java 复制代码
//根据用户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")
java 复制代码
@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注解,一般都是用来规定参数格式,最常用的就是规定时间格式,也可以用来规定数字的格式、时区控制等等,用到的时候可以搜一下

相关推荐
M-Robots echo7 小时前
轻量化裁剪方案解析:M-Robots 模块化构建,适配高低端各类机器人硬件平台
java·机器人·ros·开源社区·atomgit·m-robots
不可求~8 小时前
多模型路由怎么落地:把任务分流写进项目的最小实现
java·前端·数据库
mldong8 小时前
用 DDD 设计工作流引擎:聚合根与充血模型
java·架构
mqiqe9 小时前
AgentScope Java Harness:4. 双层记忆系统 让 Agent 拥有真正的“长期大脑“
java·开发语言
伍一519 小时前
03-文件管理模块-一个看似简单的模块藏着多少细节
java·ruoyi·若依
gugucoding9 小时前
46. 【Java】JUC并发工具:让并发更简单
java·开发语言
砍材农夫10 小时前
spring-ai|Spring‑AI 2.0.0 新特性 + 入门教程
spring boot·spring·spring cloud
Nebula_g10 小时前
JavaSE基础语法:面向对象高级(代码中的成分)
java·开发语言·编程·javase·技术栈·高级语法
AC赳赳老秦11 小时前
公开图片 OCR 数据提取:OpenClaw 合规采集公开信息图,识别文字与表格并转化为结构化数据
java·大数据·前端·数据库·python·php·openclaw
小强库计算机毕业设计12 小时前
SpringBoot+Vue3 学生宿舍管理系统实战
java·spring boot·后端·vue·学生宿舍管理系统