Heim > Java > javaLernprogramm > Einführung in drei Verwendungen von RestTemplate (Code)

Einführung in drei Verwendungen von RestTemplate (Code)

不言
Freigeben: 2018-10-25 15:47:28
nach vorne
3691 Leute haben es durchsucht

Dieser Artikel bietet Ihnen eine Einführung (Code) in die drei Möglichkeiten, RestTemplate zu verwenden. Ich hoffe, dass er für Freunde hilfreich ist.

Vorbereitung

Ich verwende eine gemeinsame API auf der Serverseite

@RestController
public class ServerController {

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

}
Nach dem Login kopieren

Der erste Weg

Verwenden Sie restTemplate direkt und codieren Sie die URL fest

@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;
    }

}
Nach dem Login kopieren

Der zweite Weg

Der zweite Weg (verwenden Sie LoadBalancerClient, um die URL über den Anwendungsnamen abzurufen, und verwenden Sie dann 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;
    }

}
Nach dem Login kopieren

Der dritte Weg

Der dritte Weg (mit @LoadBalanced können Sie den Anwendungsnamen in restTemplate verwenden)
@Component
public class RestTemplateConfig {

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

}
Nach dem Login kopieren
rrree

Das obige ist der detaillierte Inhalt vonEinführung in drei Verwendungen von RestTemplate (Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage