微服务-euraka

通过微服务,实现对用户关联订单的CRUD

启用注册、发现都需要对应用作相同的配置,服务提供方也可以是服务消费方

spring:
application:
name: 服务名
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:10086/eureka

eureka-service的配置(application.yml)

配置:server:

        port: 10086
    spring:
        application:
        name: eureka-server
    eureka:
        client:
        service-url:
        defaultZone: http://127.0.0.1:10086/eureka
增加
给定user的ID,和订单信息,增加指定用户的订单数据
删除

给定user的ID,和订单信息,删除指定用户的订单数据

user的web 层接口:

@DeleteMapping("/user/{userId}")
public String deleteByUserId(@PathVariable("userId")Long userId){
return orderService.deleteById(userId);
}

user 业务层:

@Autowired
private RestTemplate template;
public User deleteById(Long id) {
String url = "http://orderservice/order/user/"+id;

// 删除操作

template.delete(url);
userMapper.deleteById(id);
return "delete is ok";
}
查询
    给定user的ID,查询指定用户的订单数据
    user的web 层接口:
    @GetMapping("/user/{userId}")
    public List<Order> getOrdersByUserId(@PathVariable("userId")Long userId){
        return orderService.getAllOrders(userId);
    }
    
    user 业务层:
    @Autowired
    private RestTemplate template;

    public User queryById(Long id) {
        String url = "http://orderservice/order/user/"+id;
        // 指定返回值为订单的集合
        ArrayList<Order> object = (ArrayList<Order>)template.getForObject(url, ArrayList.class);

        User user = userMapper.findById(id);
        user.setOrders(object);
        return user;
    }
修改
给定user的ID,和订单信息,修改指定用户的订单数据
@LoadBalanced 负载均衡注解,底部由 Ribbon 完成,
Ribbon 有个拦截器会对RestTemplete对象的请求做拦截识别处理,在获取了注册中心的服务之后,将拦截到的请求与之前的服务做对比,

再重新拼接请求路径

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值