"seata中gateway如何实现openfeign远程调用?接口调用报错。
"
在 Seata 中,你可以使用 OpenFeign 远程调用 Gateway。以下是一个简单的示例:
build.gradle
文件中添加以下依赖:dependencies {
implementation 'org.springframework.cloud:spring-cloud-starter-openfeign'
}
application.yml
或 application.properties
文件中添加以下配置:spring:
cloud:
feign:
hystrix:
enabled: false
MyClient
,并添加以下代码:import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
@FeignClient(name = "my-service")
public interface MyClient {
@RequestMapping(value = "/api/v1/users", method = RequestMethod.GET)
User getUser(@RequestParam("id") Long id);
}
UserController
的类,并添加以下代码:import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestBody;
@RestController
public class UserController {
@Autowired
private MyClient myClient;
@GetMapping("/users/{id}")
public User getUser(@PathVariable Long id) {
return myClient.getUser(id);
}
}
现在,你的 Gateway 项目已经配置了 OpenFeign,并且可以使用它来远程调用你的服务了。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。