SpringMVC进行json数据交互

请求key/value、输出json。此方法在开发中比较常用。

在注解适配器中加入messageConverters

1 <!--注解适配器 -->
2     <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
3         <property name="messageConverters">
4         <list>
5         <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
6         </list>
7         </property>
8     </bean>
View Code

注意:如果使用<mvc:annotation-driven /> 则不用定义上边的内容。

Controller方法:

 1 package cn.itcast.ssm.controller;
 2 
 3 import org.springframework.stereotype.Controller;
 4 import org.springframework.web.bind.annotation.RequestBody;
 5 import org.springframework.web.bind.annotation.RequestMapping;
 6 import org.springframework.web.bind.annotation.ResponseBody;
 7 
 8 import cn.itcast.ssm.po.ItemsCustom;
 9 
10 @Controller
11 public class JsonTest {
12     
13     //请求json串(商品信息),输出json(商品信息)
14     //@RequestBody将请求的商品信息的json串转成itemsCustom对象
15     //@ResponseBody将itemsCustom转成json输出
16     @RequestMapping("/requestJson")
17     public @ResponseBody ItemsCustom requestJson(@RequestBody ItemsCustom itemsCustom){
18         
19         //@ResponseBody将itemsCustom转成json输出
20         return itemsCustom;
21     }
22     
23     //请求key/value,输出json
24     @RequestMapping("/responseJson")
25     public @ResponseBody ItemsCustom responseJson(ItemsCustom itemsCustom){     
27         //@ResponseBody将itemsCustom转成json输出
28         return itemsCustom;
29     }
30 
31 }


Restful的支持

示例:定义controller,进行url映射使用REST风格的url,将查询商品信息的id传入controller。输出json使用@ResponseBody将java对象输出json。

@RequestMapping(value="/ viewItems/{id}"):{×××}占位符,请求的URL可以是“/viewItems/1”或“/viewItems/2”,通过在方法中使用@PathVariable获取{×××}中的×××变量。

@PathVariable用于将请求URL中的模板变量映射到功能处理方法的参数上。

1 @RequestMapping("/viewItems/{id}") 
2     public @ResponseBody ItemsCustom viewItems(@PathVariable("id") String id,Model model) throws Exception{
3         //方法中使用@PathVariable获取useried的值,使用model传回页面
4         //调用 service查询商品信息
5         ItemsCustom itemsCustom = itemsService.findItemsById(id);
6         return itemsCustom;
7 }

tips:如果RequestMapping中表示为"/viewItems/{id}",id和形参名称一致,@PathVariable不用指定名称。

转载于:https://www.cnblogs.com/ustc-anmin/p/10494668.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值