个人博客项目笔记_08
bug修正
文章归档:
1. 文章图片上传
1.1 接口说明
接口url:/upload
请求方式:POST
请求参数:
参数名称 | 参数类型 | 说明 |
---|---|---|
image | file | 上传的文件名称 |
返回数据:
1.2 Controller
String fileName = UUID.randomUUID().toString() + "." + StringUtils.substringAfterLast(originalFilename, ".");
这行代码的作用是生成一个唯一的文件名,用于保存上传的文件。
UUID.randomUUID().toString()
: 这个方法调用生成一个随机的 UUID(Universally Unique Identifier),并将其转换为字符串形式。UUID 是一种用于唯一标识信息的标准化方法,通常由 32 个十六进制数字组成,例如:"550e8400-e29b-41d4-a716-446655440000"。使用toString()
方法将其转换为字符串。"." + StringUtils.substringAfterLast(originalFilename, ".")
: 这部分代码是获取上传文件的扩展名,并将其与随机生成的 UUID 字符串拼接起来。StringUtils.substringAfterLast(originalFilename, ".")
方法从原始文件名中获取最后一个点 (.) 后面的字符串,即文件的扩展名。然后再在扩展名前面添加一个点,用于连接随机生成的 UUID。通过这两个步骤,就可以生成一个形如 "random_uuid.png" 的唯一文件名,其这样可以确保每个上传的文件都有一个唯一的文件名,避免文件名冲突。
1.3 使用七牛云
需要自行修改的配置:
1.4 测试
2. 导航-文章分类
2.1 查询所有的文章分类
2.1.1 接口说明
接口url:/categorys/detail
请求方式:GET
请求参数:
参数名称 | 参数类型 | 说明 |
---|---|---|
返回数据:
2.1.2 Controller
2.1.3 Service
CategoryService:
CategoryServiceImpl:
2.2 查询所有的标签
2.2.1 接口说明
接口url:/tags/detail
请求方式:GET
请求参数:
参数名称 | 参数类型 | 说明 |
---|---|---|
返回数据:
2.2.3 Controller
2.2.4 Service
TagsService:
TagsServiceImpl:
3. 分类文章列表
3.1 接口说明
接口url:/category/detail/{id}
请求方式:GET
请求参数:
参数名称 | 参数类型 | 说明 |
---|---|---|
id | 分类id | 路径参数 |
返回数据:
3.2 Controller
CategoryController:
3.3 Service
CategoryService:
CategoryServiceImpl:
ArticleServiceImpl:
新增如下代码:
//查询文章的参数 加上分类id,判断不为空 加上分类条件
if (pageParams.getCategoryId() != null) {
queryWrapper.eq(Article::getCategoryId,pageParams.getCategoryId());
}
4. 标签文章列表
4.1 接口说明
接口url:/tags/detail/{id}
请求方式:GET
请求参数:
参数名称 | 参数类型 | 说明 |
---|---|---|
id | 标签id | 路径参数 |
返回数据:
4.2 Controller
TagsController:
4.3 Service
TagService:
TagServiceImpl:
4.4 修改原有的查询文章接口
ArticleServiceImpl:
新增如下代码:
核心逻辑:
- 创建一个列表articleIdList用于存放某个标签对应的文章id;
- 通过tag_id在article_tag表中查询所有数据;
- 通过循环遍历操作将第二步查出来的数据中的article_id存放到articleIdList列表;
- SELECT *FROM article WHERE id IN articleIdList
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· DeepSeek “源神”启动!「GitHub 热点速览」
· 上周热点回顾(2.17-2.23)
2022-04-12 操作系统学习笔记_05
2021-04-12 全国疫情数据可视化展示(详细介绍,含完整源码)