前言:
openfeign入门请参考 SpringCloud 之 openfeign 使用,下面说一下实际使用的几种添加请求参数的样例。
1.添加固定请求头
@Component
@FeignClient(value = "nacos-client", fallback = ClientServiceFallback.class)
public interface ClientService {
@GetMapping(value = "/test/check",headers = {"token=123","Host=www.xxx.com"})
String testCheck();
}
2.添加可变请求头
@Component
@FeignClient(value = "nacos-client", fallback = ClientServiceFallback.class)
public interface ClientService {
@GetMapping(value = "/test/check")
String testCheck(@RequestHeader("token") String token, @RequestHeader("Host") String name);
}
3.添加请求参数
@Component
@FeignClient(value = "nacos-client", fallback = ClientServiceFallback.class)
public interface ClientService {
@GetMapping(value = "/test/check")
String testCheck(@RequestParm("name") String name);
}
4.添加请求结构体
@Component
@FeignClient(value = "nacos-client", fallback = ClientServiceFallback.class)
public interface ClientService {
@PostMapping(value = "/test/check")
String testCheck(@RequestBody("data") Data data);
}
5.添加路径参数
@Component
@FeignClient(value = "nacos-client", fallback = ClientServiceFallback.class)
public interface ClientService {
@GetMapping(value = "/test/path/{name}")
String testCheck(@PathVariable(value = "name") String name);
}
6.可抛出自定义异常
抛出异常后可自定义捕获异常处理逻辑。
@Component
@FeignClient(value = "nacos-client")
public interface ClientService {
@GetMapping(value = "/test/check")
String testCheck() throws RuntimeException;
}