当前位置 : 主页 > 网页制作 > Nodejs >

Rest 风格的webservice 调用

来源:互联网 收集:自由互联 发布时间:2021-06-24
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);
	}
网友评论