HttpClient工具类

1. HttpClient工具类:java

    (1) 地址: taotao-common中HttpClientUtil.javajson

    (2)方法:浏览器

        doGet(String url, Map<String, String> param);app

       doGet(String url);工具

      doPost(String url, Map<String, String> param);post

      doPost(String url);ui

      doPostJson(String url, String json);url

 

   (3) 使用场景: 用来模拟浏览器的get和post请求code

   (5)使用例子: (地址com.taotao.portal.service.impl 中的 search(String queryString, int page))orm

  请求端:

public SearchResult search(String queryString, int page) {
		// 调用taotao-search的服务
		// 查询参数
		Map<String, String> param = new HashMap<>();
		param.put("q", queryString);
		param.put("page", page + "");
		try {
			// 调用服务
			String json = HttpClientUtil.doGet(SEARCH_BASE_URL, param);
			// 把字符串转换成java对象
			TaotaoResult taotaoResult = TaotaoResult.formatToPojo(json, SearchResult.class);
			if (taotaoResult.getStatus() == 200) {
				SearchResult result = (SearchResult) taotaoResult.getData();
				return result;
			}

		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

        接收端: com.taotao.search.controller

/**
 * 商品查询Controller
 * @author Administrator
 *
 */
@Controller
public class SearchController {
	
	@Resource
	private SearchService searchServiceImpl;
	
	@RequestMapping(value="/query",method=RequestMethod.GET)
	@ResponseBody
	public TaotaoResult search(@RequestParam("q")String queryString, 
			@RequestParam(defaultValue="1")Integer page, 
			@RequestParam(defaultValue="60")Integer rows) {
		//查询条件不能为空
		if (StringUtils.isBlank(queryString)) {
			return TaotaoResult.build(400, "查询条件不能为空");
		}
		SearchResult searchResult = null;
		try {
			queryString = new String(queryString.getBytes("iso8859-1"), "utf-8");
			searchResult = searchServiceImpl.search(queryString, page, rows);
		} catch (Exception e) {
			e.printStackTrace();
			return TaotaoResult.build(500, ExceptionUtil.getStackTrace(e));
		}
		return TaotaoResult.ok(searchResult);
		
	}
}
相关文章
相关标签/搜索