最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用restTemplate遠程調controller路徑取數(shù)據(jù)

 更新時間:2021年08月19日 14:58:16   作者:renhuan28  
這篇文章主要介紹了使用restTemplate遠程調controller路徑取數(shù)據(jù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

restTemplate遠程調controller路徑取數(shù)據(jù)

Spring的RestTemplate提供了很多對HTTP method的支持,這里主要說常用的get和post。

使用環(huán)境為springboot

首先要寫相關配置類,舉例:

@Configuration
public class Config {
  @Autowired
  RestTemplateBuilder builder;
  @Bean
  public RestTemplate restTemplate() {
    return builder.build();
  }
}

然后調目標cotroller層,比如目標cotroller層為

@RestController
@RequestMapping("/aaa")
public class TemplateController {
  @PostMapping(value = "/ppp")
  public List<Students> getInfo(@RequestBody String sid) {
    ...
    return stuService.getId(areaId);
  }
}

需要用post的方法去調

  @Autowired
  private RestTemplate restTemplate;
  public List<Student> getMsg() {
    String id = "111";
    HttpEntity<String> entity = buildEntity(id);
    String url = "http://ip:port/aaa/ppp";
    return restTemplate.postForObject(url, entity, List.class);
  }
  private HttpEntity<String> buildEntity(String id) {
    JSONObject jo = new JSONObject();
    jo.put("sid", id);
    String requestJson = jo.toJSONString();
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
    return new HttpEntity<String>(requestJson, headers);
  }

再比如目標controller層為

@RestController
@RequestMapping(value = "/aaa")
public class StudentController {
    @GetMapping(value = "/ggg")
  public Set<Students> queryStudent(@RequestParam(value = "code") String code,
      @RequestParam(value = "objectKey") String objectKey,
      @RequestParam(value = "studentId") Integer studentId) {
    return sService.get(code, objectKey, kindId);
  }
}

需要用get的方法去調

 @Autowired
  private RestTemplate restTemplate;
  public Set queryStudent(String ip, int port,EventRelationTask eventRelationTask) {
    Integer studentId = eventRelationTask.getStudentId();
    String code = eventRelationTask.getCode();
    String objectKey = eventRelationTask.getObjectKey();
    String url =
        "http://" + ip + ":" + port + Student.PROJECTNAME + "event/queryparentnode?code=" + code + "&objectKey=" + objectKey + "&studentId=" + studentId;
    Set<Student> students = new HashSet<>();
    students = restTemplate.getForObject(url, Set.class);   //主要這個方法
    if (students != null) {
      return students;
    }
    return new HashSet();
  }

通過Spring的RestTemplate進行跨模塊調用

Spring提供了一個RestTemplate模板工具類,對基于Http的客戶端進行了封裝,并且實現(xiàn)對象與json的序列化和反序列化。首先在項目中新建controller方法

相關代碼如圖下所示:

在這里插入圖片描述

接著我們在另外一個項目中的啟動類的位置注冊一個RestTemplate實例

相關代碼可參考圖下所示:

在這里插入圖片描述

然后創(chuàng)建HttpTestController使用RestTemplate中最簡單的一個功能getForEntity發(fā)起了一個get請求去調用前一個項目中服務端的數(shù)據(jù)并返回結果。

在這里插入圖片描述

最后訪問http://localhost:8080/httpTestController/queryByname?name=張三就能看到list打印傳遞的值。需要注意的是圖1是第一個項目請求的,圖2是第二個項目通過跨服務跨項目請求得來的,它們兩者的端口號是不一樣的

運行結果如下所示:

在這里插入圖片描述

(圖1)

在這里插入圖片描述

(圖2)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • java開發(fā)只要tomcat設計模式用的好下班就能早

    java開發(fā)只要tomcat設計模式用的好下班就能早

    這篇文章主要為大家介紹了java開發(fā)只要tomcat設計模式的示例詳解,<BR>只要設計模式用的好下班就能早,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • springBoot快速訪問工程目錄下的靜態(tài)資源

    springBoot快速訪問工程目錄下的靜態(tài)資源

    springboot工程,是沒有webapp文件夾的,靜態(tài)文件放在src/main/resources/static文件夾下即可,模板文件放在src/main/resources/templates下,本文給大家介紹springBoot快速訪問工程目錄下的靜態(tài)資源的相關知識,一起看看吧
    2021-06-06
  • Java中的動態(tài)綁定機制

    Java中的動態(tài)綁定機制

    這篇文章主要介紹了Java中的動態(tài)綁定機制,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • SpringBoot執(zhí)行異步任務Async介紹

    SpringBoot執(zhí)行異步任務Async介紹

    這篇文章主要為大家介紹了SpringBoot執(zhí)行異步任務Async示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • java中繼承測試代碼分析

    java中繼承測試代碼分析

    這篇文章主要介紹了java中繼承測試代碼分析,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • java 自定義可繼承枚舉Enum的案例

    java 自定義可繼承枚舉Enum的案例

    這篇文章主要介紹了java 自定義可繼承枚舉Enum的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Java小程序賽馬游戲實現(xiàn)過程詳解

    Java小程序賽馬游戲實現(xiàn)過程詳解

    這篇文章主要介紹了Java小程序賽馬游戲實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • Sharding-jdbc報錯:Missing the data source name:‘m0‘解決方案

    Sharding-jdbc報錯:Missing the data source 

    在使用MyBatis-plus進行數(shù)據(jù)操作時,新增Order實體屬性后,出現(xiàn)了數(shù)據(jù)源缺失的提示錯誤,原因是因為userId屬性值使用了隨機函數(shù)生成的Long值,這與sharding-jdbc的路由規(guī)則計算不匹配,導致無法找到正確的數(shù)據(jù)源,通過調整userId生成邏輯
    2024-11-11
  • Java使用dom4j解析xml、讀取xml文件圖文教程

    Java使用dom4j解析xml、讀取xml文件圖文教程

    這篇文章主要給大家介紹了關于Java使用dom4j解析xml、讀取xml文件的相關資料,包括創(chuàng)建SAXReader對象、讀取并解析XML文件、獲取Document對象、獲取根元素和子元素、獲取屬性和內容等操作,還提供了配置Dom4j?jar包的步驟,需要的朋友可以參考下
    2025-02-02
  • 詳解java實現(xiàn)HTTP請求的三種方式

    詳解java實現(xiàn)HTTP請求的三種方式

    這篇文章主要介紹了java實現(xiàn)HTTP請求的三種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04

最新評論

纳雍县| 尚志市| 迁西县| 五大连池市| 固安县| 平和县| 离岛区| 甘德县| 茶陵县| 精河县| 凌源市| 余庆县| 铜川市| 陵水| 武清区| 刚察县| 嘉善县| 杭州市| 柏乡县| 成武县| 通山县| 天峨县| 衢州市| 宜宾县| 湘西| 济阳县| 什邡市| 泰顺县| 措美县| 长治市| 崇信县| 伊宁市| 南华县| 丹凤县| 内丘县| 金昌市| 礼泉县| 宝坻区| 红原县| 休宁县| 吕梁市|