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);
		
	}
}
相關文章
相關標籤/搜索