반응형
RESTAPI 를 하기 위해서 openfeign 을 사용할 경우도 있다.
openfeign 에 대해서는 참고 포스팅 참고 바란다.
RESTAPI를 사용하려면 헤더값을 종종 셋팅해주곤 해야하는데 그 방법에 대해서 다뤄보려고 한다.
parameter나 requestbody는 openfeign 에서
@RequestParam / @RequestBody 로 설정이 가능하지만 헤더값은 RequestMapping annotation에 같이 명시를 해준다.
아래 예시코드를 보면
- header 를 하나만 추가하고자 할 경우
..이상 생략 @RequestMapping(value = "/list/1", method = RequestMethod.GET, headers = "header1=value1") Member find(); ..이하 생략 |
- header 를 여러개를 추가하고자 할 경우
..이상 생략 @RequestMapping(value = "/list/1", method = RequestMethod.GET, headers ={"header1=value1", "header2=value2"}) Member find(); ..이하 생략 |
만약 모든 feign에 공통적으로 추가를 할 경우
RequestInterceptor 를 사용한다.
아래 코드처럼 따로 인터페이스를 구현하고
@RequiredArgsConstructor public class AuthRequestInterceptor implements RequestInterceptor { private final TokenService tokenService; @Override public void apply(RequestTemplate template) { template.header("Authorization", tokenService.getToken()); } } |
해당 Interceptor를 Bean 등록 해주면 된다.
@Configuration public class FeignConfig { @Bean public AuthRequestInterceptor feignInterceptor() { return new AuthRequestInterceptor(); } } |
그리고 feign 요청시 configuration에 추가한다.
..이상 생략 @FeignClient(name = "testClient", url = "http://localhost:8080", configuration = FeignConfig.class) public interface TestClient { @RequestMapping(value = "/list/1", method = RequestMethod.GET, headers ={"header1=value1", "header2=value2"}) Member find(); ..이하 생략 |
참고 포스팅
https://thenicesj.tistory.com/469
반응형
'IT > Java' 카테고리의 다른 글
줄바꿈 하기 (\n, \r, \r\n 의 차이) / System.lineSeparator() (31) | 2024.04.30 |
---|---|
Workbook 사용법 (20) | 2024.04.28 |
IncorrectResultSizeDataAccessException (23) | 2024.04.23 |
@RequestPart? (22) | 2024.04.22 |
File To MultipartFile / MultipartFile To File (29) | 2024.04.21 |
댓글