发表于: 2019-11-04 20:07:57
2 764
今天完成的事:
1、添加banner增加、上架banner展示、根据banner的id查询作品url的接口。
编写完banner添加service后,进行测试,报错如下。
认为是spring的全局配置文件读取错误,而且所有的mapper的bean错误创建。因为之前其他测试都没问题,这里突然出了毛病,就用之前的留言查询测试,发现也是一样的报错,就认为是扫描包的时候出了问题,导致bean的自动注入出错,一通操作都没解决,最后看到了一个非常精辟的答案!!
果然最后一个错误是个奇怪的报错。
这个报错说没找到这种类型的别名,也找不到这个类,就很纳闷,这是个什么东西,因为banner查询的sql语句入参是boolean,所以回头看了看sql语句,结果发现是把入参类型错写成“Blooean”。
没想到会是这里出了问题就会导致所有的mapper的bean报错错误创建。。果然是一点也马虎不得。。
改过来后测试查询,成功。
编写banner的封面添加。
成功添加,并显示图片。
下图为上架banner展示接口返回的json数据。
下图为根据banner的id查询作品url返回的json数据。
mapper的sql语句:
controller类:
// 添加banner接口
@RequestMapping(value = "/banner/add",method = RequestMethod.POST)
@ResponseBody
public ModelAndView insertBanner(Banner banner, MultipartFile multipartFile,ModelAndView mav) throws IOException {
// 调用 ImageUtil 类的图片上传方法,返回图片的上传路径
String coverName = ImageUtil.upload(multipartFile);
banner.setCover(coverName);
banner.setStatus(false);
banner.setCreateAt(System.currentTimeMillis());
banner.setUpdateAt(System.currentTimeMillis());
banner.setUpdateBy("最后修改人");
Boolean flag = bannerService.insertBanner(banner);
Map<String,String> map = new HashMap<>();
if(flag == true){
map.put("code","1");
map.put("message","添加成功");
}else {
map.put("code","0");
map.put("message","添加失败");
}
mav.setViewName("image");
return mav;
}
// 将上架的banner展示,最多6个
@RequestMapping(value = "/banners",method = RequestMethod.GET)
@ResponseBody
public List<Banner> selectBannerByStatus(){
List<Banner> banners = bannerService.selectBannerByStatus(true);
return banners;
}
// 根据banner的id,查询对应的作品url,进而查看作品
@RequestMapping(value = "/banner/{id}",method = RequestMethod.GET)
@ResponseBody
public String selectUrlById(@PathVariable Integer id){
String bannerUrl = bannerService.selectUrlById(id);
return bannerUrl;
}
2、添加工作室增加、上架工作室展示接口。
下图为上架工作室展示接口返回的json数据。
实现工作室多图片上传功能,最多5个图片。
尝试多图片上传,报错。
百度说是需要使用注解绑定参数,如下。
多图片上传成功。
mapper的sql语句:
controller类:
// 添加工作室简介,5个图片上传
@RequestMapping(value = "/studio/add",method = RequestMethod.POST)
@ResponseBody
public ModelAndView insertStudio(Studio studio,
@RequestParam(value = "multipartFile")MultipartFile[] multipartFile, ModelAndView mav) throws IOException {
studio.setStatus(false);
List<String> imagesPathList = new ArrayList<>();
for (MultipartFile file : multipartFile) {
// 调用 ImageUtil 类的图片上传方法,返回图片的上传路径
String pictureName = ImageUtil.upload(file);
imagesPathList.add(pictureName);
}
studio.setPicture1(imagesPathList.get(0));
studio.setPicture2(imagesPathList.get(1));
studio.setPicture3(imagesPathList.get(2));
studio.setPicture4(imagesPathList.get(3));
studio.setPicture5(imagesPathList.get(4));
studio.setCreateAt(System.currentTimeMillis());
studio.setUpdateAt(System.currentTimeMillis());
studio.setUpdateBy("最后修改");
Boolean flag = studioService.insertStudio(studio);
Map<String,String> map = new HashMap<>();
if (flag == true){
map.put("code","1");
map.put("message","添加成功");
}else {
map.put("code", "0");
map.put("message", "添加失败");
}
mav.addObject("imagesPathList",imagesPathList);
mav.setViewName("image");
return mav;
}
// 根据上架状态,查看工作室简介
@RequestMapping(value = "/studios",method = RequestMethod.GET)
@ResponseBody
public List<Studio> selectStudioByStatus(){
List<Studio> studios = studioService.selectStudioByStatus(true);
return studios;
}
图片添加的jsp。
图片显示的jsp。
明天计划的事:
1、整理代码,规范接口。
2、查看接口响应时间,进行调整优化。学习postman的用法。
3、尝试编写部分后台功能接口。
遇到的问题:
因为失误写错了sql语句入参类型,找错找了半天,还好找到了问题,以后要小心谨慎。
代码还有比较乱,需要整理整理,规范一下。
收获:
1、添加banner增加、上架banner展示、根据banner的id查询作品url的接口。
2、添加工作室增加、上架工作室展示接口, 实现工作室多图片上传功能,最多5个图片。
评论