#マイクロサービスモジュール間のインターフェイス呼び出しメソッド(RestTemplate)

マイクロサービスモジュール間のインターフェイス呼び出しメソッド(RestTemplate)

  • RestTemplateは、org.springframework.web.clientパッケージの下にあるクラスであり、Post、Get、およびその他の要求を実装できます。
構成クラス、RestTemplateBeanを構成します
@Configuration
public class RestTemplateConfig {
    
    
 
    /**
     * 使用LoadBlanced 可以用Eruake 中注册的服务名调用
     **/
    @Bean
    @LoadBalanced
    public RestTemplate restTemplate(ClientHttpRequestFactory factory) {
    
    
        return new RestTemplate(factory);
    }
 
    @Bean
    public ClientHttpRequestFactory simpleClientHttpRequestFactory() {
    
    
        SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
        factory.setReadTimeout(5000);//单位为ms
        factory.setConnectTimeout(5000);//单位为ms
        return factory;
    }
 
}
RestTemplateを挿入し、RestTemplateを使用してインターフェイスを呼び出します
  • Url形式:http:// Eruake登録サービス名/インターフェースアドレス
@RequestMapping("/test2")
public void test2(){
    
    
    try {
    
    
        // 调用的接口地址
        String url = "http://oscoreserver/test/test1";
        // 传的参数
        Map<String, Object> parameters = new HashMap<>(4);
        parameters.put("grant_type", "client_credential");
        // 接口返回的内容
        Object object = restTemplate.postForObject(url, parameters, String.class);
        System.out.println(object);
    }catch (Exception e){
    
    
        logger.info(e.getMessage());
        e.printStackTrace();
    }
}
RestTemplate投稿リクエスト
  • postForObjectリクエストインターフェイスを使用する
String url = "http://oscoreserver/test/test1";
Map<String, Object> parameters = new HashMap<>(4);
parameters.put("tagid", "6666");
Object object = restTemplate.postForObject(url, parameters, String.class);
  • postForObject()
public <T> T postForObject(String url, @Nullable Object request, Class<T> responseType, Object... uriVariables) throws RestClientException {
    
    }
public <T> T postForObject(String url, @Nullable Object request, Class<T> responseType, Map<String, ?> uriVariables)  throws RestClientException {
    
    }
public <T> T postForObject(URI url, @Nullable Object request, Class<T> responseType) throws RestClientException {
    
    }
  • postForEntity()
<T> ResponseEntity<T> postForEntity(String var1, @Nullable Object var2, Class<T> var3, Object... var4) throws RestClientException;
<T> ResponseEntity<T> postForEntity(String var1, @Nullable Object var2, Class<T> var3, Map<String, ?> var4) throws RestClientException;
<T> ResponseEntity<T> postForEntity(URI var1, @Nullable Object var2, Class<T> var3) throws RestClientException;
RestTemplateGetリクエスト
  • getForObjectリクエストインターフェイスを使用する
Map<String, Object> parameters = new HashMap<>(4);
parameters.put("tagid", "6666");
String result1 = restTemplate.getForObject(url, String.class, paramMap);
System.out.println("result1====================" + result1);
  • getForObject()
public <T> T getForObject(String url, Class<T> responseType, Object... uriVariables){
    
    }
public <T> T getForObject(String url, Class<T> responseType, Map<String, ?> uriVariables)
public <T> T getForObject(URI url, Class<T> responseType)
  • getForEntity()
public <T> ResponseEntity<T> getForEntity(String url, Class<T> responseType, Object... uriVariables){
    
    }
public <T> ResponseEntity<T> getForEntity(String url, Class<T> responseType, Map<String, ?> uriVariables){
    
    }
public <T> ResponseEntity<T> getForEntity(URI url, Class<T> responseType){
    
    }

おすすめ

転載: blog.csdn.net/qq_37248504/article/details/108394155