使用Spring Cloud Feign远程调用

Spring Cloud Feign简介参考:http://blog.csdn.net/neosmith/article/details/52449921

根据专家学者提供的账号密码,要在用户表注册一个专家学者账号(用户和专家学者不同的数据库)

在userContorller.java写一个方法:注册专家学者账号

/**
	 * 专家学者注册
	 * 
	 * @param username
	 * @param password
	 * @return
	 */
	@ApiOperation(value = "专家学者注册")
	@RequestMapping(value = "/registExpert", method = RequestMethod.POST)
	public long registExpert(@RequestParam("username") String username, @RequestParam("password") String password) {
		User user = new User();
		user.setUsername(username);
		user.setPassword(password);
		userService.insertSelective(user);
		long userId = user.getUserId();
		return userId;
	}


UserClient.java(这里的接口和要远程调用的controller方法声明一样(此处是UserController.java),可直接复制过来,如下所示)

package com.lgsc.cjbd.expert.remote.client;

import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import com.lgsc.cjbd.vo.Response;

@FeignClient(name = "cjbd-user", fallback = UserClientFallback.class)
public interface UserClient {

	/**
	 * 注册专家学者
	 */
	@RequestMapping(value = "/user/user/registExpert", method = RequestMethod.POST)
	long registExpert(@RequestParam("username") String username, @RequestParam("password") String password);
}

以及失败回调用UserClientFallBack.java

package com.lgsc.cjbd.expert.remote.client;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.stereotype.Component;

import com.lgsc.cjbd.vo.Response;

/**
 * 失败回调
 * 
 * @author yeqj
 */
@Component
public class UserClientFallback implements UserClient {
	private static Logger log = LogManager.getLogger(UserClientFallback.class);

	@Override
	public long registExpert(String username, String password, String realName) {
		log.error("远程调用失败,注册专家学者失败,参数:[username=" + username + ",password=" + password + "]");
		return 0;
	}
}
之后再专家学者Service层传递专家学者用户名和密码过去,在用户表新增专家学者注册记录

userClient.registExpert(username, password);
即可完成远程调用

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值