SpringBoot:使用feign调用restful服务时地址栏传参

时间:2023-03-09 17:56:22
SpringBoot:使用feign调用restful服务时地址栏传参

1.服务提供者(controller层)

@GetMapping("/user/{id}")
public ApiResult getById(@PathVariable("id")Integer id){ return ok(userService.getById(id));
}

2.Feign模块cilent定义

@FeignClient(value = "api-ucenter-v1",fallbackFactory = UserClientHystrix.class)
public interface UserClient {
@GetMapping("/user/{id}")
ApiResult getById(@RequestParam("id") Integer id);
}

重点是这里方法的参数,跟以往拷贝controller中定义的方法不同,这里将 @PathVariable("id")Integer id (从地址栏取参数),改为一般的传参方式@RequestParam("id") Integer id

方法体上的注解不变,还是restful风格

3.通过Feign远程调用

@Autowired
private UserClient userClient; apiResult = userClient.getById(userModuleDTO.getUserId());