使用Spring的restTemplete进行Http请求
来源:互联网 发布:python hmac sha256 编辑:程序博客网 时间:2024/06/14 02:51
/** rest templete*/public class RestTemplateTest { //private static String url = "http://10.2.1.46:8080"; private static String url = "http://127.0.0.1:8080/test"; private static String autoDeploy = "/api/ddd/manages/yyy/1111"; public static void main(String[] args) throws UnsupportedEncodingException { JSONObject token1 = LoginTest.login(url); JSONObject token = new JSONObject(); token.put("token", token1.getString("token")); token.put("userName", "chenchen.ming@56qq.com"); String name = "明辰晨"; token.put("name", URLEncoder.encode(name, "UTF-8")); String jsonBody = DmsAutoDeployTest.dmsAutoDeployData(); autoDeploy(jsonBody,token.toJSONString()); } /* * 主要的post方法 */ public static void autoDeploy(String json,String token){ String autoDeployUrl = url + autoDeploy; RestTemplate restTemplate = new RestTemplate(); HttpHeaders headers = new HttpHeaders(); //一定要设置好ContentType为utf8否则会乱码 MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); headers.setContentType(type); headers.add("Accept", MediaType.APPLICATION_JSON.toString()); headers.add("Authentication", token);//设置自定义session header HttpEntity<String> formEntity = new HttpEntity<String>(json, headers); Map<String, Object> parameterMap = new HashMap<>(); //entity = Header,uriVariables = Parameters; restTemplate.postForObject(autoDeployUrl, formEntity, String.class, parameterMap); } /* * 测试 */ public static void test4(){ JSONObject response = null; Map<String,Object> param = new HashMap<>(); param.put("ming", "chyen"); String json = "haha"; try { response = RestUtil.post("http://127.0.0.1:8080/cloud-master/api/release/manages/detail", JSONObject.class,null,null,json); } catch (Exception e) { e.printStackTrace(); } System.out.println(response); } /** * 测试 */ public static void test(){ RestTemplate restTemplate = new RestTemplate(); Map<String, Object> parameterMap = new HashMap<>(); restTemplate.getForObject("url", String.class,parameterMap); //factory.createRequest(uri, httpMethod) }}
Util
/** * 使用Spring的restTemplate进行http请求 * @author Mingchenchen * */public class RestUtil { private static RestTemplate restTemplate = new RestTemplate(); /** * Get方法 * * @param url:地址 * @param returnClassName:返回对象类型,如:String.class * @param parameters:parameter参数 * @return */ public static <T> T get(String url, Class<T> returnClassName, Map<String, Object> parameters){ if (parameters == null) { return restTemplate.getForObject(url, returnClassName); } return restTemplate.getForObject(url, returnClassName, parameters); } /** * post请求,包含了路径,返回类型,Header,Parameter * * @param url:地址 * @param returnClassName:返回对象类型,如:String.class * @param inputHeader * @param inputParameter * @param jsonBody * @return */ public static <T> T post(String url,Class<T> returnClassName,Map<String,Object> inputHeader,Map<String,Object> inputParameter,String jsonBody){ //请求Header HttpHeaders httpHeaders = new HttpHeaders(); //拼接Header if (inputHeader != null) { Set<String> keys = inputHeader.keySet(); for (Iterator<String> i = keys.iterator(); i.hasNext();) { String key = (String) i.next(); httpHeaders.add(key, inputHeader.get(key).toString()); } } //设置请求的类型及编码 MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); httpHeaders.setContentType(type); httpHeaders.add("Accept", "application/json"); List<MediaType> acceptableMediaTypes = new ArrayList<>(); acceptableMediaTypes.add(MediaType.ALL); httpHeaders.setAccept(acceptableMediaTypes); HttpEntity<String> formEntity = new HttpEntity<String>(jsonBody, httpHeaders); if (inputParameter==null) { return restTemplate.postForObject(url, formEntity, returnClassName); } return restTemplate.postForObject(url, formEntity, returnClassName, inputParameter); }}
0 0
- 使用Spring的restTemplete进行Http请求
- 使用Spring的restTemplete进行Http请求
- restTemplete webService in spring
- spring mvc和powermock进行http请求的UnitTest
- 使用xcode7进行http请求
- 使用URLConnection进行http请求
- 使用Http进行网络请求
- 使用Apache中的HttpClient的实例CloseableHttpClient进行http请求
- 使用PHP进行异步HTTP请求
- 使用 cURL 进行 HTTP 请求实例
- 使用 cURL 进行 HTTP 请求实例
- 使用 cURL 进行 HTTP 请求实例
- 使用Spring HTTP invoker进行远程调用
- 命令行进行http请求
- c#进行http请求
- Spring MVC 的http请求处理过程
- 使用AFNetwork进行HTTP请求时遇到的几个经典错误
- Python使用urllib进行http请求无限等待问题
- Jersey+Spring+Hibernate搭建的一个简单Web Service
- AngularJS 最常用的八种功能
- 只有 20 行的 JavaScript 模板引擎
- 【HDU】5723 Abandoned country(2016 Multi-University)
- 第一篇微博,国际惯例
- 使用Spring的restTemplete进行Http请求
- Android Versions
- 盲打助手(Touch-Typing) 1.0 正式版 (下载)
- Tic-Tac-Toe - VolgaCTF - 2016 - PPC
- sql查询出来的一列多行数据拼接起来
- glMatrixMode()函数和glLoadldentity()说明
- [iOS] UIBezierPath画圆弧 addArcWithCenter
- StreamBenchmark工具,使用共享内存修改stream.c
- Android微信之简单文本分享(集成官方SDK-Android Studio)