**从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/103615379
下一节链接:
https://blog.csdn.net/qq_40893824/article/details/103626809
下面的内容总结:
client/entity/User→client/feign新建UserFeign.java→client/controller新建UserHandler.java→检查
现在去client调用user的功能
实现细节:
1.将User/entity的实体类User复制至client/entity中
2.在client/feign中新建接口UserFeign.java,加入代码:
package com.southwind.feign;
import com.southwind.entity.User;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@FeignClient(value = "user")
public interface UserFeign {
/*增*/
@PostMapping("/user/save")
public void save(@RequestBody User user);
/*改*/
@PutMapping("/user/update")
public void update(@RequestBody User user);
/*删*/
@DeleteMapping("/user/deleteById/{id}")
public void deleteById(@PathVariable("id")long id);
/*查*/
@GetMapping("/user/findAll/{index}/{limit}")
public List<User> findAll(@PathVariable("index")int index , @PathVariable("limit")int limit);
@GetMapping("/user/findById/{id}")
public User findById(@PathVariable("id")long id);
@GetMapping("/user/count")
public int count();
}
3.在client/controller中新建控制类UserHandler.java,加入代码:
注意save中User不需要加 @RequestBody ,client中都不需要 @RequestBody ,只有是实现该功能的handle才需要@RequestBody来解析数据,client只是调用,不需要@RequestBody来解析数据!
user/UserHandler中就要加@RequestBody
package com.southwind.controller;
import com.southwind.entity.User;
import com.southwind.feign.UserFeign;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/user")
public class UserHandler {
@Autowired
private UserFeign userFeign;
/*增*/
@PostMapping("/save")
public void save( User user){
userFeign.save(user);
}
@PutMapping("/update")
public void update(@RequestBody User user){
userFeign.update(user);
}
/*删*/
@DeleteMapping("/deleteById/{id}")
public void deleteById(@PathVariable("id")long id){
userFeign.deleteById(id);
}
/*查*/
@GetMapping("/findAll/{index}/{limit}")
public List<User> findAll(@PathVariable("index") int index , @PathVariable("limit") int limit){
return userFeign.findAll(index, limit);
}
@GetMapping("/findById/{id}")
public User findById(@PathVariable("id")long id){
return userFeign.findById(id);
}
@GetMapping("/count")
public int count(){
return userFeign.count();
}
}
4.进入 http://localhost:8030/user/findAll/0/10
findAll成功调用!
5.打开postman
a.进入 get http://localhost:8030/user/findAll/0/10
findAll成功!
b. 进入 post http://localhost:8030/user/save
添加成功!
c. 进入 put http://localhost:8030/user/update
再进入 get http://localhost:8030/user/findAll/0/10
更新成功!
d.进入 delete http://localhost:8030/user/deleteById/7
再进入 get http://localhost:8030/user/findAll/0/10
成功!
上一节链接:
https://blog.csdn.net/qq_40893824/article/details/103615379
下一节链接:
https://blog.csdn.net/qq_40893824/article/details/103626809