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);
}
Rest 风格的webservice 调用
最新推荐文章于 2024-02-20 09:54:18 发布