>  기사  >  Java  >  RestTemplate의 세 가지 사용법 소개(코드)

RestTemplate의 세 가지 사용법 소개(코드)

不言
不言앞으로
2018-10-25 15:47:023677검색

이 글은 RestTemplate을 사용하는 세 가지 방법에 대한 소개(코드)를 제공합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

준비

서버측에서 공통 API를 사용하고 있습니다

@RestController
public class ServerController {

    @GetMapping("/msg")
    public String msg(){
        return "this is product' msg";
    }

}

첫 번째 방법

직접 RestTemplate을 사용합니다 , 죽음에 대한 URL 쓰기

@Slf4j
@RestController
public class ClientController {

    @GetMapping("/getProductMsg")
    public String getProductMsg(){
        // 1、第一种方式(直接使用restTemplate,url写死)
        RestTemplate restTemplate = new RestTemplate();
        String response = restTemplate.getForObject("http://localhost:9082/msg",String.class);
        log.info("response={}",response);
        return response;
    }

}

두 번째 방법

두 번째 방법(loadBalancerClient를 사용하여 애플리케이션 이름을 통해 URL을 가져온 다음 RestTemplate을 사용)
@Slf4j
@RestController
public class ClientController {

    @Autowired
    private LoadBalancerClient loadBalancerClient;

    @GetMapping("/getProductMsg")
    public String getProductMsg(){

        //2、第二种方式(利用loadBalancerClient通过应用名获取url,然后再使用restTemplate)
        ServiceInstance serviceInstance = loadBalancerClient.choose("PRODUCT");
        String url = String.format("http://%s:%s",serviceInstance.getHost(),serviceInstance.getPort()) + "/msg";
        RestTemplate restTemplate = new RestTemplate();
        String response = restTemplate.getForObject(url,String.class);

        log.info("response={}",response);
        return response;
    }

}

세 번째 방법

세 번째 방법(@LoadBalanced를 사용하면 RestTemplate에서 애플리케이션 이름을 사용할 수 있음)
@Component
public class RestTemplateConfig {

    @Bean
    @LoadBalanced
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }

}
rrree

위 내용은 RestTemplate의 세 가지 사용법 소개(코드)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제