消费者:
1 controller层自动注入自定义的feign接口:
@Resource
FeignService feignService;
2 配置文件配置feign调用超时时间,默认一秒,根据需要适当增加:
hystrix:
command:
default:
execution:
timeout:
enabled: false
ribbon:
ReadTimeout: 120000
3 创建feign接口:
//配置文件中生产者的微服务名
@FeignClient(name="${spring.application.meName}") public interface FeignService { // feign的接口,value是指定消费者调提供者的接口名,提供者对外提供什么接口,这里就定义什么接口 @PostMapping(value = "/me/industry/addUrl") public String addUrl(@RequestBody List<JSONObject> list, @RequestParam(value="secuCode") String secuCode, @RequestParam(value="user") String user, @RequestParam(value="type") int type,@RequestParam(value="endDateType") String endDateType); @PostMapping(value = "/me/industry/addUrl2") public String addUrl2(); @PostMapping(value = "/me/industry/addTag") List<HashMap> addTag(@RequestParam(value = "user",required = false) String user,@RequestBody List<HashMap> data, @RequestParam(value = "supplier",required = false) String supplier, @RequestParam(value = "starCompany",required = false)String starCompany);
注意list类型的参数需要用@RequestBody注解,string类型参数可以用@requestParam
生产者:
编写接口:
@PostMapping("/addTag") public List<HashMap> addTag(@RequestParam(value = "user",required = false) String user,@RequestBody(required = false) List<HashMap> data,@RequestParam(value = "supplier",required = false) String key,@RequestParam(value = "starCompany",required = false) String type){ return data; }