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
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 userLoginName, String divisionId, String queryStr) { 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); 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); }