Rest 风格的webservice 调用

前端之家收集整理的这篇文章主要介绍了Rest 风格的webservice 调用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

	
import java.net.URI;

import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;

import org.apache.log4j.Logger;

import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.core.util.MultivaluedMapImpl;

public class RestfulUtils {

	/**
	 * 日志
	 */
	private static Logger logger = Logger.getLogger(RestfulUtils.class);

	/**
	 * 获取全文检索结果
	 * 
	 * @param url
	 *            全文检索url
	 * @param userLoginName
	 *            登录名
	 * @param divisionId
	 *            行政区划
	 * @param queryStr
	 *            查询参数
	 * @param sortBy
	 *            排序方式
	 * @param pageNo
	 *            请求页数
	 * @param pageSize
	 *            每页条数
	 * @param returnFields
	 *            返回字段名称数组
	 * @return
	 * @author xhcheng3
	 * @created 2016年10月22日 下午1:11:20
	 * @lastModified
	 * @history
	 */
	public static String invokeQueryRest(String url,String userLoginName,String divisionId,String queryStr,String sortBy,String pageNo,String pageSize,String returnFields) {

		try {
			Client client = Client.create();
			URI u = new URI(url);
			WebResource resource = client.resource(u);
			MultivaluedMap<String,String> params = new MultivaluedMapImpl();
			params.add("userLoginName",userLoginName);
			params.add("divisionId",XzqhUtils.xzqhLike(divisionId));
			params.add("queryStr",queryStr);
			params.add("sortBy",sortBy);
			params.add("pageNo",pageNo);
			params.add("pageSize",pageSize);
			params.add("returnFileds",returnFields);
			logger.info("查询参数:" + params.toString());
			return resource.type(MediaType.APPLICATION_FORM_URLENCODED).post(String.class,params);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

	/**
	 * 获取总数统计结果
	 * 
	 * @param url
	 * @param userLoginName
	 *            登录名
	 * @param divisionId
	 *            行政区划
	 * @param queryStr
	 *            查询参数
	 * @return
	 * @author xhcheng3
	 * @created 2016年10月23日 下午4:32:17
	 * @lastModified
	 * @history
	 */
	public static String invokeCountRest(String url,String queryStr) {

		try {
			Client client = Client.create();
			URI u = new URI(url);
			WebResource resource = client.resource(u);
			MultivaluedMap<String,queryStr);
			logger.info("统计参数:" + params.toString());
			return resource.type(MediaType.APPLICATION_FORM_URLENCODED).post(String.class,params);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

	public static void main(String[] args) {

		String s = "SEARCH_TEXT:王生安";
		String queryUrl = "http://192.168.201.33:8001/full-text-search/api/query";
		String returnFields = "";
		String result = invokeQueryRest(queryUrl,"","341600000000",s,"DATA_I_TYPE_ID ASC,score DESC","100",returnFields);
		System.out.println(result);
	}

猜你在找的WebService相关文章