(随笔)feign调用时传参注解的使用方式

Joseph-Jonardo / 2023-08-04 / 原文

当使用Feign进行远程调用时,可以使用@RequestBody@RequestParam来传递参数,具体使用哪个取决于你发送请求的方式和接收参数的方式。

  • @RequestBody注解用于将参数放在请求体中发送,通常用于发送复杂对象,如JSON或XML格式的请求。你可以在方法的参数上使用@RequestBody注解,Feign将自动将其序列化并放入请求体中。

    @PostMapping("/api/endpoint")
    ResponseData postRequest(@RequestBody RequestData requestData);
    
  • @RequestParam注解用于将参数作为查询参数附加到URL中。这通常用于发送简单的键值对参数,如字符串、数字等。你可以在方法的参数上使用@RequestParam注解来指定参数的名称。

    @GetMapping("/api/endpoint")
    ResponseData getRequest(@RequestParam("param1") String param1, @RequestParam("param2") int param2);
    

选择使用哪个注解取决于你想要发送什么样的请求和接收什么样的参数。如果需要发送复杂对象或需要使用特定的请求体格式(如JSON),则使用@RequestBody。如果只需发送简单的查询参数,使用@RequestParam

另外,在使用Feign时,还可以使用@PathVariable注解来从URL路径中获取参数,具体取决于具体的需求。