在spring的controller中,要将参数传递到后台,有两种方式:第一是将参数作为url的路径的一部分传递到后台;第二种是将其作为参数传递到后台。下面分别来看这两种方式的实现,如下:
1、url类型:http://localhost:8080/taotaoweb/item/2345354543
@RequestMapping("/item/{itemId}")
@ResponseBody
public TbItem getItemById(@PathVariable long itemId){
//此处获取的itemId就是url地址后面的数值:
2345354543
TbItem item=itemService.getItemById(itemId);
return item;
}
【注意】接收参数解决乱码问题看下面图片
2、url类型: http://localhost:8096/search/query?
q=手机&page=2&rows=10
@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=searchService.search(queryString, page, rows);
} catch (Exception e) {
e.printStackTrace();
return TaotaoResult.build(500, ExceptionUtil.getStackTrace(e));
}
return TaotaoResult.ok(searchResult);
}