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