(二)SpringCloud业务实现

上篇:(一)搭建SpringCloud

上篇文章已经初步完成搭建SpringCloud。接下来,要实现api-pay和api-user两个接口。我们假设用户进行支付时会优先调用用户接口进行用户信息查询。这时需要在用户接口定义用户模型:

这里的port是调用服务的端口号,用来在后面演示负载均衡使用。

然后创建IUser接口和IPay接口,每个接口只有一个方法。

public interface IUser{
   
@RequestMapping("/getUserEntity")
    UserEntity
getUserEntity(@RequestParam("id") String id);
}

 

public interface IPay{

    @RequestMapping("/pay")

    public String pay(@RequestParam("id")String id,@RequestParam("money") double money);

}

接下来要实现业务逻辑,就是调用IPay接口的pay方法时会调用IUser接口的getUserEntity获取到用户信息。需要分别实现上一节创建的两个EurekaDiscoveryClient(pay-impl和user-impl)。User-impl创建接口的实现类做一个接口的返回,这里先加上所有代码,稍后解释:

@RestController

public class User implements IUser {

    @Value("${server.port}")

    private String port;

    @Override

    @RequestMapping("/getUserEntity")

    public UserEntity getUserEntity(@RequestParam("id") String id) {

        UserEntity ue = new UserEntity();

        ue.setId(id);

        ue.setName ("名字"+id);

        ue.setPort(port);

        return ue;

    }

}

@RestController、@RequestMapping和@RequestParam连用来返回一个web界面这里不做解释。@Value(“${server.port}”)是注入配置的接口端口号到port,稍后我们讲下配置。这里只是实现简单的UserEntity的生成和返回。

接下来pay-iml创建实现类Pay

@RestController

public class Pay implements IPay {



    @Value("${server.port}")

    private String port;



    @Autowired

    private Userfeigin userfeigin;



    @Override

    @RequestMapping("/pay")

    public String pay(@RequestParam("id")String id, @RequestParam("money")double money) {

        UserEntity userEntity = userfeigin.getUserEntity(id);

        return ""+userEntity.getPort()+"端口的"+userEntity.getName()+"端口"+port+"支付"+money;

    }

}

同样实现pay方法:这里输出来自用户服务接口通过本服务接口进行支付。这里两个端口号分别是用户服务端口号和支付服务端口号。@Autowired这里的自动注入也在后续的讲解配置时介绍。为了更好的展示效果,我们再写一个用来调用支付服务的方法(也可以直接调用支付接口来看,但看不到两个服务同时负载均衡)。这里取名为Test。同样作为EurekaDiscoveryClient创建,这里实现很简单,就是通过test方法调用支付接口:

@RestController

public class Test {

    @Autowired

    private PayFegin payFegin;



    @RequestMapping("/test")

    public String test(){

        return payFegin.pay("11",10.05);

    }

}

 

至此所有的业务逻辑相关的工作都完成了,下一篇介绍Eureka服务端和客户端的配置、Fegin作为服务发现及效果的展示。

源码地址:https://download.csdn.net/download/u011736517/12168445

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值