目录
1. 编辑相册--显示编辑区--Mapper层
显示编辑区主要是将原有数据查询出来,使用已有的getStandardById()
即可,所以,本次Mapper层无须开发新的功能。
/** * 根据id查询相册详情 * * @param id 相册id * @return 匹配的相册详情,如果没有匹配的数据,则返回null */ AlbumStandardVO getStandardById(Long id);
2. 编辑相册--显示编辑区--Service层
在IAlbumService
接口中添加抽象方法
/**
* 根据id查询相册详情
*
* @param id 相册id
* @return 匹配的相册详情,如果没有匹配的数据,则返回null
*/
AlbumStandardVO getStandardById(Long id);
在AlbumServiceImpl
中实现以上方法:
@Override
public AlbumStandardVO getStandardById(Long id) {
log.debug("开始处理【根据id查询相册详情】的业务,参数:{}", id);
AlbumStandardVO queryResult = albumMapper.getStandardById(id);
if (queryResult == null) {
String message = "根据id查询相册详情失败,尝试访问的数据不存在!";
log.warn(message);
throw new ServiceException(ServiceCode.ERR_NOT_FOUND, message);
}
log.debug("即将返回相册详情:{}", queryResult);
return queryResult;
}
在AlbumServiceTests
中编写并执行测试:
@Test
void getStandardById() {
Long id = 1L;try {
service.getStandardById(id);
log.debug("获取数据完成!");
} catch (ServiceException e) {
log.debug("获取数据失败!具体原因请参见日志!");
}
}
3. 编辑相册--显示编辑区--Controller层
在AlbumController
中添加处理请求的方法:
- 请求路径:
/album/info
- 请求方式:
GET
- 请求参数:
Long id
- 响应结果:
JsonResult >>> state:20000, data:相册对象
具体代码为:
// http://localhost:9080/album/info?id=1
@ApiOperation("根据id查询相册详情")
@ApiOperationSupport(order = 410)
@GetMapping("/info")
public JsonResult getStandardById(Long id) {
log.debug("开始处理【根据id查询相册详情】的请求,参数:{}", id);
AlbumStandardVO album = albumService.getStandardById(id);
return JsonResult.ok(album);
}
4. 测试
完成以上代码后,重启项目,可以通过API文档测试访问,当查询成功时,响应的正文是:
{
"state": 20000,
"data": {
"id": 10,
"name": "华为P50的相册",
"description": "暂无",
"sort": 99
}
}
当给出的ID并不存在时,响应的正文是:
{
"state": 40400,
"message": "根据id查询相册详情失败,尝试访问的数据不存在!"
}
个人主页:居然天上楼
感谢你这么可爱帅气还这么热爱学习~~
人生海海,山山而川
你的点赞👍 收藏⭐ 留言📝 加关注✅
是对我最大的支持与鞭策