[Spring] Spring Feign Client 설정하기

동민·2022년 3월 16일
0

TestFeignClient.java

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;

// name: FeignClient의 이름을 설정한다. 
// url="${...}": yml에 설정되어 있는 URL 정보를 불러온다. (@FeignClient 어노테이션 내 url로 설정한 URL로 API를 쏜다.)
@FeignClient(name="test-api", url="${external-api.test.api-url}") 
public interface TestFeignClient {

	// headers: Request Header에 포함 할 정보를 추가 (yml 에서 불러옴)
    @PostMapping(value = "/rest/test", headers = "Authorization=${external-api.test.authorization}") 
    XXX.Response test(final XXX.Request request); // Request DTO 와 Response DTO는 송/수신 형식 및 타입에 맞게 설정한다.
}

application.yml

# Feign Client Settings
feign:
  client:
    config:
      test-api:						# Feign Client 명
        decode404: false
        loggerLevel: full
        connect-timeout: 3000
        readTimeout: 60000
        
external-api:
  test:
    api-url: 'https://xxx.yyy.com'
    authorization: 'ABC'        

Request Header Authorization:ABC
POST https://xxx.yyy.com/rest/test 로 API가 날라간다.

profile
BE Developer

0개의 댓글