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

Einführung in drei Verwendungen von RestTemplate (Code)

不言
不言nach vorne
2018-10-25 15:47:023619Durchsuche

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

}

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

}

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

}

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();
    }

}
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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen