MyController.java 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package common.utils.http;
  2. import com.alibaba.druid.util.StringUtils;
  3. import com.alibaba.fastjson.JSONArray;
  4. import com.alibaba.fastjson.JSONObject;
  5. import com.alibaba.fastjson.JSONPObject;
  6. import com.jfinal.core.Controller;
  7. import com.jfinal.core.NotAction;
  8. import com.jfinal.json.FastJson;
  9. import com.jfinal.kit.HttpKit;
  10. import com.jfinal.kit.StrKit;
  11. import javax.servlet.http.HttpServletRequest;
  12. import java.util.List;
  13. public class MyController extends Controller {
  14. @NotAction
  15. public <T> T getJsonModel(Class<T> type) {
  16. return MyController.getJsonModelByRequestAndType(getRequest(), type);
  17. }
  18. public static <T> T getJsonModelByRequestAndType(HttpServletRequest request, Class<T> type) {
  19. String data = HttpKit.readData(request);
  20. // request只支持读取一次,无法满足需求
  21. if (!StrKit.isBlank(data)) {
  22. request.setAttribute("data", data);
  23. } else {
  24. data = (String) request.getAttribute("data");
  25. }
  26. return FastJson.getJson().parse(data, type);
  27. }
  28. public static <T> List<T> getList(String jsonArrStr, Class<T> clazz){
  29. if(StringUtils.isEmpty(jsonArrStr)){
  30. jsonArrStr = "[]";
  31. }
  32. List<T> objList = JSONArray.parseArray(jsonArrStr, clazz);
  33. return objList;
  34. }
  35. }