天下之事,必先处之难,而后易之。

Spring RestTemplate工具类

Spring 的RestTemplate是基于Httpclient的请求模式。

package com.wlyd.fmcgwms.util.api;

import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.web.client.RestTemplate;
/**
 * Spring RestTemplate工具类
 * 
 * @packge com.wlyd.fmcgwms.util.api.RestTemplateUtils
 * @date 2016年6月13日 下午4:14:23
 * @author pengjunlin
 * @comment
 * @update
 */
public class RestTemplateUtils {

	private static class SingletonRestTemplate {
		/**
		 * 单例对象实例
		 */
		static final RestTemplate INSTANCE = new RestTemplate();
	}

	private RestTemplateUtils() {

	}
	
	/**
	 * 单例实例
	 */
	public static RestTemplate getInstance() {
		return SingletonRestTemplate.INSTANCE;
	}

	/**
	 * 
	 * 发送post请求
	 * 
	 * @param url
	 *            请求URL地址
	 * @param data
	 *            json数据
	 * @param token
	 *            RSA加密token【RSA({PlatformCode+TenantCode+DateTime.Now()})//平台代码
	 *            +会员/租户代码+当前时间,然后进行RSA加密】
	 */
	public static String post(String url, String data, String token)
			throws Exception {
		HttpHeaders headers = new HttpHeaders();
		/*headers.add(HttpHeadersImpl.ACCEPT, "application/json");
		headers.add(HttpHeadersImpl.ACCEPT_ENCODING, "gzip");
		headers.add(HttpHeadersImpl.CONTENT_ENCODING, "UTF-8");
		headers.add(HttpHeadersImpl.CONTENT_TYPE,
				"application/json; charset=UTF-8");
		headers.add(HttpHeadersImpl.COOKIE, token);
		headers.add("Token", token);*/
		headers.add("Accept", "application/json");
		headers.add("Accpet-Encoding", "gzip");
		headers.add("Content-Encoding", "UTF-8");
		headers.add("Content-Type", "application/json; charset=UTF-8");
		headers.add("Token", token);

		HttpEntity<String> formEntity = new HttpEntity<String>(data, headers);
		return RestTemplateUtils.getInstance().postForObject(url, formEntity, String.class);
	}
	
	/**
	 * 
	 * 发送post请求
	 * 
	 * @param url
	 *            请求URL地址
	 * @param data
	 *            json数据
	 * @param token
	 *            RSA加密token【RSA({PlatformCode+TenantCode+DateTime.Now()})//平台代码
	 *            +会员/租户代码+当前时间,然后进行RSA加密】
	 * @param platformCode
	 *            平台编码{平台分配}
	 * @param tenantCode
	 *            租户号{平台分配}
	 */
	public static String post(String url, String data, String token,String platformCode,String tenantCode)
			throws Exception {
		HttpHeaders headers = new HttpHeaders();
		/*headers.add(HttpHeadersImpl.ACCEPT, "application/json");
		headers.add(HttpHeadersImpl.ACCEPT_ENCODING, "gzip");
		headers.add(HttpHeadersImpl.CONTENT_ENCODING, "UTF-8");
		headers.add(HttpHeadersImpl.CONTENT_TYPE,
				"application/json; charset=UTF-8");
		headers.add(HttpHeadersImpl.COOKIE, token);
		headers.add("Token", token);*/
		headers.add("Accept", "application/json");
		headers.add("Accpet-Encoding", "gzip");
		headers.add("Content-Encoding", "UTF-8");
		headers.add("Content-Type", "application/json; charset=UTF-8");
		headers.add("Token", token);
		headers.add("PlatformCode", platformCode);
		headers.add("TenantCode", tenantCode);

		HttpEntity<String> formEntity = new HttpEntity<String>(data, headers);
		return RestTemplateUtils.getInstance().postForObject(url, formEntity, String.class);
	}
	
	/**
	 * get根据url获取对象
	 */
	public String get(String url) {
		return RestTemplateUtils.getInstance().getForObject(url, String.class,
				new Object[] {});
	}

	/**
	 * getById根据ID获取对象
	 */
	public String getById(String url, String id) {
		return RestTemplateUtils.getInstance().getForObject(url, String.class,
				id);
	}

	/**
	 * post提交对象
	 */
	public String post(String url, String data) {
		return RestTemplateUtils.getInstance().postForObject(url, null,
				String.class, data);
	}

	/**
	 * put修改对象
	 */
	public void put(String url, String data) {
		RestTemplateUtils.getInstance().put(url, null, data);
	}

	/**
	 * delete根据ID删除对象
	 */
	public void delete(String url, String id) {
		RestTemplateUtils.getInstance().delete(url, id);
	}
	
	public static void main(String[] args) {
		
	}

}
注:本工具使用了单例模式。

posted @ 2024-10-19 18:06  boonya  阅读(29)  评论(0)    收藏  举报  来源
我有佳人隔窗而居,今有伊人明月之畔。
轻歌柔情冰壶之浣,涓涓清流梦入云端。
美人如娇温雅悠婉,目遇赏阅适而自欣。
百草层叠疏而有致,此情此思怀彼佳人。
念所思之唯心叩之,踽踽彳亍寤寐思之。
行云如风逝而复归,佳人一去莫知可回?
深闺冷瘦独自徘徊,处处明灯影还如只。
推窗见月疑是归人,阑珊灯火托手思忖。
庐居闲客而好品茗,斟茶徐徐漫漫生烟。

我有佳人在水之畔,瓮载渔舟浣纱归还。
明月相照月色还低,浅近芦苇深深如钿。
庐山秋月如美人衣,画堂春阁香气靡靡。
秋意幽笃残粉摇曳,轻轻如诉画中蝴蝶。
泾水潺潺取尔浇园,暮色黄昏如沐佳人。
青丝撩弄长裙翩翩,彩蝶飞舞执子手腕。
香带丝缕缓缓在肩,柔美体肤寸寸爱怜。
如水之殇美玉成欢,我有佳人清新如兰。
伊人在水我在一边,远远相望不可亵玩。