Spring-RestTemplate解析json文件


配置bean:

      @Bean(name="agvRestTemplate")
	public RestTemplate agvRestTemplate() {
		RestTemplate restTemplate = new RestTemplate();
                //重点:用于将JSON、application/octet-stream
		MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
		mappingJackson2HttpMessageConverter.setSupportedMediaTypes(Arrays.asList(MediaType.APPLICATION_JSON, MediaType.APPLICATION_OCTET_STREAM));
		restTemplate.getMessageConverters().add(mappingJackson2HttpMessageConverter);
		return restTemplate;
	}
        注入
        @Autowired
	@Qualifier(value = "agvRestTemplate")
	RestTemplate agvRestTemplate;

        String url = agvResource.getCallmaterial();
        Map param = new HashMap();
	param.put("orderId", agvLog.getOrderId());
	Map params = new HashMap();
	params.put("call_request", param);
        
        //postForObject(url,param1,ClassName),url:请求地址,param1:请求参数 ClassName请求参数对应的实体类名。
        //postForObject主要是将请求参数转化为HttpEntity对象
        //url为String类型,会自动转换成encodedurl,为java.net.URI,会进一步encoded,画蛇添足[1]
	Map result = agvRestTemplate.postForObject(url, params, Map.class);

        //getForObject(url,respType,MapVariables),respType:响应数据的类型,MapVariables:urlvariable参数,Map类型,key值需对应url中的变量
        //url:http://127.0.0.1:8080/agv/require?order_id={orderId},注意orderId
        Map result = agvRestTemplate.postForObject(url, params, Map.class);

【1】:出处


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM