给微服务加common组件,结果意想不到,spring cloud实践(4)

01 注册eureka

02 eureka后台监控加权限

03 consumer 调用 provider

前面吧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更新。

provider 修改

然后再到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对象了。

consumer 修改

同样的需要修改依赖,针对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 条评论)
   
验证码:

相关文章

推荐文章

'); })();