restful风格接口get请求方式参数获取

 
  
controller层接口


/**
 * 个人详情
 * @param request
 * @return
 */
@RequestMapping(value = "mydetail", method = RequestMethod.GET, produces = MyMediaType.JSON)
public RestResponse myDetail(HttpServletRequest request){
    UserArchiveService userService = ContextService.getBean(UserArchiveService.class,"userService");
    String param = request.getQueryString();
    //表单提交数据转成map,在map中取传入的参数值
    Map map = UserUtils.paramsToMap(param);
    String username = map.get("username");
    UserArchive user = userService.getMyDetail(username);
    return RestResponse.ok().setData(user);
}
 
  

获取的参数转为map 的方法

public static Map paramsToMap(String params) {
    Map map = new LinkedHashMap<>();
    if (params != null && !params.equals("")) {
        String[] array = params.split("&");
        for (String pair : array) {
            if ("=".equals(pair.trim())) {
                continue;
            }
            String[] entity = pair.split("=");
            if (entity.length == 1) {
                map.put(decode(entity[0]), null);
            } else {
                map.put(decode(entity[0]), decode(entity[1]));
            }
        }
    }
    return map;
}
/**
 * 编码格式转换
 * @param content
 * @return
 */
public static String decode(String content) {
    try {
        return URLDecoder.decode(content, "UTF-8");
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
    return "";
}

你可能感兴趣的:(java)