**从b站学习springcloud项目,现在进行总结,该总结除去了视频中出现的小错误,对有些易错的地方进行了提醒
b站链接:https://www.bilibili.com/video/av55629580?p=1
资料链接:
https://pan.baidu.com/s/1o0Aju3IydKA15Vo1pP4z5w
提取码: 21ru
上一节链接:
https://blog.csdn.net/qq_40893824/article/details/103618769
下一节链接:
https://blog.csdn.net/qq_40893824/article/details/103628646
下面的内容总结:
client/UserHandler→user/entity新建MenuVO,复制至client/entity中→修改client/UserHandler中findAll代码→检查
现在去client调用user的功能的页面
实现细节:
管理用户:
1.因为要用页面展示用户信息,修改client/controller/UserHandler.java代码
故在UserHandler.java中将第10行的@RestController改为@Controller
2.删除update代码、findById代码
3.修改 deleteById代码 和 save代码:(一样的操作)
void换String,加 return “redirect:/user/redirect/user_manage”;
@DeleteMapping 换 @GetMapping
/*删*/
@GetMapping("/deleteById/{id}")
public String deleteById(@PathVariable("id")long id){
user.setRegisterdate(new Date());//注册时间系统给出
userFeign.deleteById(id);
return "redirect:/user/redirect/user_manage";
}
4.findAll那里加上@ResponseBody
user_manage.html中有th标签,所以在UserHandler加上redirect后台映射(和MenuHandler中的一样),代码如下:
@GetMapping("/redirect/{location}")
public String redirect(@PathVariable("location")String location){
return location;
}
5.因为findAll返回的List<>视图页面无法解析,所以去user/entity新建UserVO,加入代码:
package com.southwind.entity;
import lombok.Data;
import java.util.List;
@Data
public class UserVO {
private int code;
private String msg;
private int count;
private List<User> data;
}
6.把UserVO复制至client/entity中,然后将findAll代码改为:
List< User> 改为 UserVO,GetMapping的路径改为"/findAll",2个@PathVariable改为@RequestParam:
/*查*/
@GetMapping("/findAll")
@ResponseBody
public UserVO findAll(@RequestParam("page") int page , @RequestParam("limit") int limit){
int index = (page - 1)*limit;
UserVO userVO = new UserVO();
userVO.setCode(0);;
userVO.setMsg("");
userVO.setCount(userFeign.count());
userVO.setData(userFeign.findAll(index, limit));
return userVO;
}
现在UserHandler的代码:
package com.southwind.controller;
import com.southwind.entity.User;
import com.southwind.entity.UserVO;
import com.southwind.feign.UserFeign;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
@Controller
@RequestMapping("/user")
public class UserHandler {
@Autowired
private UserFeign userFeign;
/*增*/
@PostMapping("/save")
public String save(User user){
user.setRegisterdate(new Date());//注册时间系统给出
userFeign.save(user);
return "redirect:/user/redirect/user_manage";
}
/*删*/
@GetMapping("/deleteById/{id}")
public String deleteById(@PathVariable("id")long id){
userFeign.deleteById(id);
return "redirect:/user/redirect/user_manage";
}
/*查*/
@GetMapping("/findAll")
@ResponseBody
public UserVO findAll(@RequestParam("page") int page , @RequestParam("limit") int limit){
int index = (page - 1)*limit;
UserVO userVO = new UserVO();
userVO.setCode(0);;
userVO.setMsg("");
userVO.setCount(userFeign.count());
userVO.setData(userFeign.findAll(index, limit));
return userVO;
}
@GetMapping("/count")
public int count(){
return userFeign.count();
}
@GetMapping("/redirect/{location}")
public String redirect(@PathVariable("location")String location){
return location;
}
}
检查
7. 进入 http://localhost:8030/user/redirect/user_manage
成功!
添加用户:
1.manage_add中有th标签,继续使用redirect后台映射
进入 http://localhost:8030/user/redirect/user_add
添加成功!
验证删除:点击删除后:
小明被成功删除!
上一节链接:
https://blog.csdn.net/qq_40893824/article/details/103618769
下一节链接:
https://blog.csdn.net/qq_40893824/article/details/103628646