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); } }