封装了一个获取请求对象的工具类,现在支持表单类型和json类型

package com.test.util;

import com.alibaba.fastjson.JSONObject;
import com.jfinal.kit.HttpKit;

import javax.servlet.http.HttpServletRequest;
import java.util.Enumeration;

public class ParamUtil {

    /**
     * 获取请求对象
     * @param request 请求对象
     * @param clazz 需要转换成的对象
     * @param <T> 返回封装后的对象
     * @return 返回封装后的对象
     */
    public static <T> T getPara(HttpServletRequest request,Class<T> clazz){
        System.out.println(request.getContentType());
        JSONObject json = null;
        if(request.getContentType().contains("application/json") || request.getContentType().contains("application/text")){
            String jsonObj = HttpKit.readData(request);
            json = JSONObject.parseObject(jsonObj);
        }else{
            Enumeration enu=request.getParameterNames();
            String paraName;
            json= new JSONObject();
            while(enu.hasMoreElements()){
                paraName=(String)enu.nextElement();
                json.put(paraName,request.getParameter(paraName));
            }
        }
        return JSONObject.toJavaObject(json,clazz);
    }
}

使用了alibaba的工具类,先要导入哦~

使用的时候只需要加上以下的一行代码:

public void findById() {
    Users user = ParamUtil.getPara(getRequest(),Users.class);
    System.out.println(JSONObject.toJSONString(user));
    Users users = usersService.findById(user.getUserId());
    renderJson(JsonUtil.toJson(users));
}


评论区

热门分享

扫码入社