ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SpringCloud Fegin服务调用失败

2022-07-03 18:36:10  阅读:126  来源: 互联网

标签:web 调用 Fegin zeal SpringCloud springframework org import com


1、注意在启动类上标注 @EnableFeignClients//服务调用 我这里忘记标了此注解,导致服务调用失败

 2、服务调用流程

一、服务提供方

package com.zeal.sms.controller;


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zeal.commonutils.R;
import com.zeal.sms.entity.Push;
import com.zeal.sms.service.PushService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author mangoubiubiu
 * @since 2022-07-03
 */
@Slf4j
@RestController
@RequestMapping("/inner/sms")
@RequiredArgsConstructor
public class CenterController {

    final PushService pushService;
    /**
     * 返回消息未读数量
     * @return
     */
    @GetMapping("getUnreadCount")
    public R getUnreadCount(@RequestParam String userId){
        List<Push> pushList = pushService.list(new QueryWrapper<Push>().eq("user_id", userId));
        long count = pushList.stream().filter(res -> false==res.getIsRead()).count();
        return R.ok().data("count",count);
    }
}

二、服务消费方

 接口

package com.zeal.acl.client;

import com.zeal.acl.client.impl.SmsFileDegradeFeignClient;
import com.zeal.commonutils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

@FeignClient(name = "zeal-sms", fallback = SmsFileDegradeFeignClient.class)
@Component
public interface SmsClient {

    @GetMapping("/inner/sms/getUnreadCount")
    public R getUnreadCount(@RequestParam("userId") String userId);

}

实现类(里面的返回是接口调用失败的情况下才返回)

package com.zeal.acl.client.impl;

import com.zeal.commonutils.R;
import com.zeal.acl.client.SmsClient;
import org.springframework.stereotype.Component;

@Component
public class SmsFileDegradeFeignClient implements SmsClient {
    @Override
    public R getUnreadCount(String userId) {
        return R.error().message("系统繁忙,请稍后再试");
    }
}

调用成功

 

标签:web,调用,Fegin,zeal,SpringCloud,springframework,org,import,com
来源: https://www.cnblogs.com/mangoubiubiu/p/16440465.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有