有哪个网站做ic,购物网站建设需求,临安做网站的公司有哪些,东营建设信息网招标网在使用OpenFeign作为接口调用时#xff0c;
兼容RequestMapping 注解#xff0c;通过动态代理的方式#xff0c;对接口调用过程中的参数进行封装#xff1b;
主要的接口传参类型#xff0c;常用的以下四种#xff1a;
1、默认RequestBody Json格式
// 服务方
RestCon…在使用OpenFeign作为接口调用时
兼容RequestMapping 注解通过动态代理的方式对接口调用过程中的参数进行封装
主要的接口传参类型常用的以下四种
1、默认RequestBody Json格式
// 服务方
RestController
RequestMapping(/openfeign/provider)
public class OpenFeignProviderController {PostMapping(/order2)public Order createOrder2(RequestBody Order order){return order;}
}// 调用方
FeignClient(value openFeign-provider)
public interface OpenFeignService {/** * 参数默认是RequestBody标注的这里的RequestBody可以不填 * 方法名称任意 */PostMapping(/openfeign/provider/order2)Order createOrder2(RequestBody Order order);
}
2、POJO、Map等Form表单形式
SpringQueryMap
// 服务方
RestController
RequestMapping(/openfeign/provider)
public class OpenFeignProviderController {PostMapping(/order1)public Order createOrder1(Order order){return order;}
}// 调用方
FeignClient(value openFeign-provider)
public interface OpenFeignService {/** * 参数默认是RequestBody标注的如果通过POJO表单传参的使用SpringQueryMap标注 */PostMapping(/openfeign/provider/order1)Order createOrder1(SpringQueryMap Order order);
}
3、URL传参
// 服务方
RestController
RequestMapping(/openfeign/provider)
public class OpenFeignProviderController {GetMapping(/test/{id})public String test(PathVariable(id)Integer id){return accept one msg idid;
}// 调用方
FeignClient(value openFeign-provider)
public interface OpenFeignService {GetMapping(/openfeign/provider/test/{id})String get(PathVariable(id)Integer id);
}
4、普通表单传参
// 服务方
RestController
RequestMapping(/openfeign/provider)
public class OpenFeignProviderController {PostMapping(/test2)public String test2(String id,String name){return MessageFormat.format(accept on msg id{0}name{1},id,name);}
}// 调用方
FeignClient(value openFeign-provider)
public interface OpenFeignService {/** * 必须要RequestParam注解标注且value属性必须填上参数名 * 方法参数名可以任意但是RequestParam注解中的value属性必须和provider中的参数名相同 */PostMapping(/openfeign/provider/test2)String test(RequestParam(id) String arg1,RequestParam(name) String arg2);
}