spring框架controller方法接收 Content-Type=text/plain(text/json)格式类型的参数数据

这个跟我们往常的Content-Type=application/json类型的接收方式有点不太一样,假如请求参数为{"name":""tome,"age":18}
我们平常的做法是声明一个User对象来接收,User对象中包含了name和age两个属性,贴出下面的伪代码

    @RequestMapping(value = "notify")
    public String receiveNotify(@RequestBody User user) {
		return "success";
	}

但是如果Content-Type=text/plain的话,我们以上面这种方式去接受是不行的,下面贴出正确的的接收方式

    @RequestMapping(value = "notify")
    public String receiveNotify(@RequestBody String params) {
    	User user = JSON.parseObject(params,User.class);
		return "success";
	}
  • 10
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它是基于JavaScript语法的子集,可以表示数字、字符串、布尔值、数组、对象等类型数据JSON格式数据通常用于Web应用程序之间的数据交换。 手动将对象或集合转换成JSON格式的字符串,可以使用如下代码: ```java import com.alibaba.fastjson.JSON; // 对象转换成JSON字符串 Person person = new Person("张三", 20); String jsonStr = JSON.toJSONString(person); // 集合转换成JSON字符串 List<Person> personList = new ArrayList<>(); personList.add(new Person("张三", 20)); personList.add(new Person("李四", 22)); String jsonStr2 = JSON.toJSONString(personList); ``` 其中,Person是一个自定义的JavaBean类。 配置Spring MVC的JSON类型转换,可以使用如下配置: 1. 引入fastjson依赖 ```xml <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency> ``` 2. 配置Spring MVC的MessageConverter ```xml <mvc:annotation-driven> <mvc:message-converters> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/plain;charset=UTF-8</value> <value>text/html;charset=UTF-8</value> <value>application/json;charset=UTF-8</value> </list> </property> </bean> <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>application/json;charset=UTF-8</value> </list> </property> </bean> </mvc:message-converters> </mvc:annotation-driven> ``` 3. 在Controller中使用@ResponseBody注解 ```java import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; @RestController public class TestController { @RequestMapping("/test") @ResponseBody public Person test() { Person person = new Person("张三", 20); return person; } } ``` 这样,当访问/test接口时,返回的数据就会自动转换成JSON格式

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值