Feign Client 적용 시, Process finished with exit code 1 오류

2021. 4. 15. 00:32 Spring Cloud/Spring Cloud

 

@FeignClient("spring-cloud-eureka-client")
public interface GreetingClient {
    @RequestMapping("/greeting")
    String greeting(@RequestParam String name);
}

 

Feign Client 적용시, PathVariable 에 값이 들어가지 않습니다.

  • Spring MVC Controller 에서는 @PathVariable, @QueryParam 에 value(name) 을 넣지 않아도, field 의 이름이 default 로 설정되어 유입된 값이 셋팅이 되지만, feign 에서는 value(name) 값을 넣어줘야 @GetMapping @PostMapping 등에 있는 url 에 자동으로 넣어줍니다.
  • default 로 넣어줄거라 생각하고 안넣어주면 아래와 같은 에러가 발생됩니다.
java.lang.IllegalStateException: RequestParam.value() was empty on parameter 0

 

해결책

RequestParam에 value(name)을 명시하여 줍니다.

@RequestParam("name") String name
@FeignClient("spring-cloud-eureka-client")
public interface GreetingClient {
    @RequestMapping("/greeting")
    String greeting(@RequestParam("name") String name);
}

 

참조 :

woowabros.github.io/experience/2019/05/29/feign.html (우아한형제들 기술블로그)

stackoverflow.com/questions/44313482/feign-client-with-spring-boot-requestparam-value-was-empty-on-parameter-0