url的post请求 Content-Type:application/json类型 Java后端接收(^_^)

本文介绍了当Content-Type为application/json时,Java后端如何处理POST请求。在SpringMVC框架下,可以使用@RequestBody注解配合对象接收数据,或者通过String接收并进行JSON转换。而在Servlet中,需要通过request.getReader()读取数据并手动转换为对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Content-Type为application/json时,假设前台传输的数据为data: {name:'wyc',age:12}

第一种情况在springmvc框架下

处理方法为前台post请求,传输过程中数据需要从json对象转成json字符串data: JSON.stringify({name:'wyc',age:12})

后台接收函数上添加@requestbody注解,并定义一个类包含name和age属性:

public class user {
    String userName;
    String password;
    省略get和set方法
 
}

后台接收函数为

public 方法返回类型 方法名(@RequestBody user user);

说明@RequestBody注解最好使用对象接收,

也可以通过字符串接收,只需要定义一个变量就能接收到

public 方法返回类型 方法名(@RequestBody String  data);此时data接收到数据就是{name:'wyc',age:12}(不推荐,因为还要获取里面的值,要用json转换对象等

第二种情况在servlet下

处理方法为前台传输数据依旧需要从json对象转成json字符串data: JSON.stringify({name:'wyc',age:12})

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{ 
BufferedReader br = request.getReader();
String str, wholeStr = "";
while((str = br.readLine()) != null){
         wholeStr += str;
}
System.out.println(wholeStr);
user user= (user)JSONObject.toBean(JSONObject.fromObject(wholeStr),user.class);
System.out.println(user.getserName());
}

比较麻烦啊,先使用request.getReader();然后再转成对象user;使用request.getParamer()是接收不到的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值