package com.sptg.common.core.cfgbeans;

import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

/**
 * title: RestTemplateConfigBean
 * package: com.sptg.common.core.cfgbeans
 * description: RestTemplate配置类
 *                  
 *               
 */
@Configuration
public class RestTemplateConfigBean {

    /**
     * 功能描述:    开启负载均衡,仅限调用内部接口使用
     *      提供了多种便捷访问远程 Http 服务的方法
     *      是一种简单便捷的访问 RestFull 服务模板类
     *      是 Spring 提供的用于访问 Rest 服务的客户端模板工具集
     * @return RestTemplate
     *                  
     *                       
     */
    @Bean(name = "lbRestTemplate")
    @LoadBalanced
    public RestTemplate lbRestTemplate(){
        return new RestTemplate();
    }

    /**
     * 功能描述:    可调用外部接口
     *      提供了多种便捷访问远程 Http 服务的方法
     *      是一种简单便捷的访问 RestFull 服务模板类
     *      是 Spring 提供的用于访问 Rest 服务的客户端模板工具集
     * @return RestTemplate
     *                  
     *                       
     */
    @Bean(name = "restTemplate")
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }
}
