前面吧consumer 调用provider 简单调用调通了以后,接着我们尝试加入一个公共模块common。这种模块在开发中很常见,一般都是一些工具类或者是业务实体类。
来个最简单的,这个工具类里面没有业务没有功能,就是一个实体类User
包含用户名和密码
public class User {
private String userName;
private String passWord;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
}
我们的provider 会用到这个工具类,当登录的时候传入User对象,我们取出中间的name和password 进行解析。
注意这里pom.xml 文件中的 groupid,artifactid和version的信息会在provider中被用到。
class写完了以后记得install一下,这里会安装到本地的maven库中。如果是协同工作,可以deploy到项目的库中去维护。
记得在使用这个库之前去update一下。
在preferences中找到对应maven库的配置,里面有一项是针对本地maven的配置,点一下update更新。
然后再到eureka client provider中引入这个common的组件。方法很简单到pom.xml 文件中copy对应的 groupid,artifactid和version 到depedencies节点下面
<dependency>
<groupId>demo-eureka-common</groupId>
<artifactId>demo-eureka-common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
重新编译一下,就可以发现这个组件了。
为了配合这个common类,我们把原来的UserService做一下修改。
@RequestMapping(value="/login", method = RequestMethod.POST)
public boolean login(@RequestBody User user) throws Exception{
return "admin".equals(user.getUserName()) && "123456".equals(user.getUserName());
}
这是就可以接受一个User对象了。
同样的需要修改依赖,针对pom.xml 添加对应的配置信息。
<dependency>
<groupId>demo-eureka-common</groupId>
<artifactId>demo-eureka-common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
把原来进行调用的一个interface 和一个实现class 都做对应的修改。
interface修改
@FeignClient(name = "demo-eureka-client-provider")
public interface UserFeignClient {
@RequestMapping(value="/login",method = RequestMethod.POST)
public boolean login(@RequestBody User user);
}
实现class 修改
@RestController
public class LoginController {
@Autowired
private UserFeignClient userFeignClient;
@RequestMapping("/userlogin")
public String login(@RequestParam("name") String name, @RequestParam("pwd") String pwd){
User user = new User();
user.setUserName(name);
user.setPassWord(pwd);
if (userFeignClient.login(user))
return "hello, " +name;
else
return "fail, "+name;
}
}
分别启动 eureka server,eureka client provider,eureka client consumer。
在postman中传入user 和password
返回成功。
搞定收工!没有想到这么顺利,你也来试试看。
如果喜欢请帮忙关注,谢谢各位。
留言与评论(共有 0 条评论) |