[Spring Boot] Feign Client 사용법

 


내 서비스에서 다른 API를 호출해서 결과를 받을 수 있는 방법을 알아보자.

유사한 API로는 RestTemplate이 있지만 Spring Cloud에서 제공하는 Feign client를 이용해 다른 서버 API 호출 방법을 설명해 보겠다.

호출 할 URL은 https://randomuser.me/api/?nat=us 인데 매번 호출 할 때마다 결과 값은 다르다.

결과 값 중 성별/이메일만 응답 줄 수 있도록 예제를 작성했다.


[환경]

Windows 10
IntelliJ 
java 11
gradle-7.6

[Gradle 설정]

//feign
implementation platform("org.springframework.cloud:spring-cloud-dependencies:2021.0.5")
implementation 'org.springframework.cloud:spring-cloud-starter-openfeign'

 


[프로그램 전체]

MainApplication class
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.scheduling.annotation.EnableScheduling;

@EnableFeignClients  //<================ 메인에서 추가 해줘야 한다.
@EnableScheduling
@SpringBootApplication
public class MainApplication {
        public static void main(String[] args) {
            SpringApplication.run(MainApplication.class, args);
         }
}
UserClient class
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

@FeignClient(name = "userClient", url = "https://randomuser.me") //<=====호출할 URL 설정
public interface UserClient {

    @GetMapping(value = "/api/") //<========== 함수 호출시  https://randomuser.me/api/ 가 되도록 설정
    GetUsersResponse getUsers(@RequestParam("nat") String nation); 
}
GetUsersResponse class
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

import java.util.List;

@Getter
@AllArgsConstructor
@NoArgsConstructor
public class GetUsersResponse {
    private List<Result> results;

    @Getter
    @AllArgsConstructor
    @NoArgsConstructor
    public static class Result {
        private String gender;
        private String email;
    }
}
TestController - swagger 설정이 되어 있어야 합니다.
@Slf4j
@RequestMapping("/v1")
@RestController
@AllArgsConstructor
@Api(tags = {"01. 테스트 API"})
public class TestController {

    private final UserClient userClient;

    @GetMapping("/feign")
    @ApiOperation(value = "Feign 테스트")
    public CommonResponse<?> feign() {
        GetUsersResponse users = userClient.getUsers("nat=us"); //<=== API에 파라미터로 nat=us를 넣는다.
        return CommonResponse.createSuccessWithNoContent();
    }

}

 

[실행 결과]

{
  "results": [
    {
      "gender": "female",
      "email": "leonie.gonzalez@example.com"
    }
  ]
}

 

 

 

반응형

visual studio express 2017에서는 node.js 개발 도구를 제공하고 있다. 개발 툴 설치 및 사용 방법에 대해 알아보겠다.

 

visual studio express 2017 설치


1. 아래 경로로 가면 visual studio espress 2017을 무료로 다운로드할 수 있다.

https://visualstudio.microsoft.com/ko/downloads/?wt_mc_id=github_microsoft_com&rr=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fnodejstools

 

다운로드 | IDE, Code & Team Foundation Server | Visual Studio

Visual Studio Community, Professional 및 Enterprise를 다운로드하세요. 지금 무료로 Visual Studio Code 또는 Team Foundation Server를 체험해 보세요.

visualstudio.microsoft.com

2. 커뮤니티를 선택해 무료로 다운 받습니다.

3. 다운로드한 파일을 실행해 설치하는 화면 중 node.js 사용을 선택한다.

 

visual studio express 2017 사용법


1. 설치가 끝나고 실행을 한 후 새로 만들기 -> 프로젝트를 누른다.

2. 아래 그림과 같이 빈 Node.js 콘솔 응용 프로그램을 선택한다.

3. 간단히 코드를 작성하고 F9를 눌러 브레이크 포인트를 잡고 디버깅을 해본다.

 

이상으로 설치부터 실행 방법까지 알아보았습니다.

 


반응형

[Node.js] switch문 사용 방법


 

하나의 변수 값에 여러가지 경우의 수가 있을 경우 switch문을 사용하여 처리한다. 어떤한 언어에도 존재하는 switch 문은 node.js에서 어떻게 사용하는지 알아보자.

 

switch문 사용방법


 

[작성 예제]

var value = 2;
switch( value ) {  case 0 :    console.log("value 값은 0 ");    break;  case 1 :    console.log("value 값은 1 ");    break;  case 2 :    console.log("value 값은 2 ");    break;  case 3 :    console.log("value 값은 3 ");    break;  default :    console.log("value 값이 0~3 사이가 아님 ");    break;}

 

[모듈 작성 방법]

switch( 변수 ) 
case 0 :
  .....
break;
case 2 :
  .....
break;
};

 

[실행 결과]

value 값은 2

 

 

 

반응형

[Node.js] Nodejs 설치 및 실행



nodejs를 설치 후 실행하는 방법에 대해 알아보도록 하겠습니다.


nodejs 설치



1.  https://nodejs.org/ko/ 에 접속을 합니다.


위와 같이 LTS와 현재 버전이 있는데 현재 버전은 개발중인 버전으로 안정적이지 못하니 LTS로 선택해 받습니다.


2. 아래와 같이 다운 받은 파일을 실행 합니다.


3. 설치 화면이 뜨면 next를 눌러 설치를 진행합니다.





Node 실행 방법



1. 설치가 완려되면 윈도우에서 명령프롬프트 프로그램을 실행 합니다.


2. 명령창에 node라고 입력해 '>'로 전환 되는 것을 확인 합니다.


3. 로그함수를 실행해 정상 동작하는지 확인 합니다.

[예제]

console.log( 'hello nodejs' );


[실행 결과]

hello nodejs




반응형

+ Recent posts