Spring之RestTemplate 远程调用的简单应用

    技术2022-07-13  70

    RestTemplate

    POST方式

    restTemplate.postForObject 方法

    发送用于 @RequestBody 作为参数接收的接口

    RestTemplate restTemplate = new RestTemplate(); final String uri = "http://ip:port/xx/xxx"; HttpHeaders headers = new HttpHeaders(); headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON)); headers.setContentType(MediaType.APPLICATION_JSON); TestModel t = new TestModel(); //构建的实体类对象 t.setKnownFaceEncodings(doubles); //构建的实体类参数 t.setUnknownFaceEncodings(unknownFaceEncodings); HttpEntity<TestModel> entity = new HttpEntity<>(t,headers); // 获取结果JSON串 用String接收 String s = restTemplate.postForObject(uri, entity, String.class); // 获取的s 为 {"err":null,"rc":0,"ret":[0.6917217442379533,0.6917217442379533]} String s = "{\"err\":null,\"rc\":0,\"ret\":[0.6917217442379533,0.6917217442379533]}"; JSONObject jsonObject = JSON.parseObject(s); String err = jsonObject.getString("err"); String rc = jsonObject.getString("rc"); String ret = jsonObject.getString("ret"); System.out.println("err:"+err); System.out.println("rc:"+rc); System.out.println("ret:"+ret); // 打印如下 // err:null // rc:0 // ret:[0.6917217442379533,0.6917217442379533]
    Processed: 0.010, SQL: 9