Java接口调度RestTemplate

需求:Java代码中,需要访问外部接口,并对返回消息进行处理

解决:采用spring集成的RestTemplate。
a.请求报文

b.响应报文

c.主要代码

Map<String, Object> req_data_map = new HashMap<String, Object>();
req_data_map.put("name", "桑科");
req_data_map.put("id_type", "1");
req_data_map.put("id_value", "460311199712190989");

map.put("req_timestamp", df.format(new Date()));
map.put("req_data", req_data_map);

//net.sf.json.JSONObject
JSONObject json = JSONObject.fromObject(map);

try {

    HttpHeaders headers = new HttpHeaders();
    MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
    headers.setContentType(type);
    headers.add("Accept", MediaType.APPLICATION_JSON.toString());

    HttpEntity<JSONObject> formEntity = new HttpEntity<JSONObject>(json, headers);

    ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(request_url, formEntity, JSONObject.class);
    // ResponseEntity<JSONObject> responseEntity = restTemplate.postForEntity(request_url, json, JSONObject.class);

    JSONObject body = responseEntity.getBody();
    resultCode = body.getString("return_code");
    if ((("0").equals(resultCode))) {
        JSONObject rsp_data_jo = body.getJSONObject("rsp_data");
    }
}catch (Exception e){
    log.info("错误原因:" + e.getMessage());
}

d.接口模拟

@RestController
public class RestTemplateController {
	
	@RequestMapping(value="/queryxxx")
	public Ztest queryBlacklist(@RequestBody JSONObject jsonObject) {
		JSONObject object = jsonObject.getJSONObject("req_data");
    }

}

补充一下:

因为项目中用到了原始一点的servlet,所以补充一下Servlet的访问方法,项目名加上servlet-mapping中的url-pattern。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值