Feign Client 적용 시, Process finished with exit code 1 오류
@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 (우아한형제들 기술블로그)
'Spring Cloud > Spring Cloud' 카테고리의 다른 글
Spring Cloud - Eureka Client 안전한 종료 방법(Discovery Client Shutdown, Spring boot graceful shutdown) (0) | 2021.04.15 |
---|---|
Spring Cloud - Zuul API gateway & Proxy !(Netflix Zuul) (0) | 2021.04.15 |
Spring Cloud - Spring Cloud Bus (0) | 2021.04.15 |
Spring Cloud - Eureka를 이용한 마이크로서비스 동적등록&탐색&부하분산처리 (0) | 2021.04.15 |
Spring Cloud - Spring Cloud Config(스프링 클라우드 컨피그) (0) | 2021.04.13 |