java获取前端在RequestPayload中的参数

单独写一个方法:

通过流去获取参数

public String getRequestPayloadParams(HttpServletRequest request){
    HttpServletRequestWrapper hsrw = new HttpServletRequestWrapper (request);
    StringBuilder sb = new StringBuilder();
    BufferReader br = null;
    InputStreamReader isr = null;
    ServletInputStream sis = null;
    try{
        sis = hsrw.getInputStream();
        isr = new InputStreamReader(sir,Charset.forName("UTF-8"));
        String line = "";
        while((line=br.readLine())!=null){
                sb.append(line);
        }
    }catch(Expection e){
        e.printStackTrace()
    }finally{
        try{
            if(sis!=null){
                sis.close()
            }
             if(isr!=null){
                isr.close()
            }
             if(br!=null){
                br.close()
            }
        }catch(Expection e){
            e.printStackTrace();
        }
    }
    return sb.toString();
}

我们已经获取到了String格式的数据,
现在需要把它转换成json格式提取出来
MAVEN添加依赖

<dependency>
  <groupId>com.google.code.gson</groupId>
  <artifactId>gson</artifactId>
  <version>2.8.3</version>
</dependency>

获取数据

public void getParam(HttpServletRequest request){
    //通过上面写的方法获得String数据
   String params = getRequestPayloadParams(request);
   JsonParser jp = new JsonParser();
   JsonObject jo = jp.parse(params).getAsJsonObject();
  //获取数据
  String username = jo.get("username").getAsString();
  String password = jo.get("password").getAsString();
}

通过上面的方法,就可以获取前端传送过来的数据了。
哦对了,如果是空值,会报错。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容