springclouddemo5.2服务提供者-user

**从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

发布了42 篇原创文章 · 获赞 2 · 访问量 1181

猜你喜欢

转载自blog.csdn.net/qq_40893824/article/details/103618769