前端url与json格式在springmvc中请求的区别

url格式的请求参数类型:

  1. 基本数据类型、String

    @RequestMapping("/commonParam")
    @ResponseBody
    public String commonParam(String name ,int age){
        System.out.println("普通参数传递 name ==> "+name);
        System.out.println("普通参数传递 age ==> "+age);
        return "commonParam";
    }

  2. Pojo类型

    @RequestMapping("/pojoContainPojoParam")
    @ResponseBody
    public String pojoContainPojoParam(User user){
        System.out.println("pojo嵌套pojo参数传递 user ==> "+user);
        return "pojoContainPojoParam";
    }

    请求参数名字 和 实体类中属性名 一致特殊:嵌套pojo请求参数名格式: 对象名.成员变量名

  3. 数组类型

    @RequestMapping("/arrayParam")
    @ResponseBody
    public String arrayParam(String[] likes){
        System.out.println("数组参数传递 likes ==> "+ Arrays.toString(likes));
        return "arrayParam";
    }

    请求参数名字 和 数组名 一致(请求参数名字相同,值有多个)

  4. 集合类型

    @RequestMapping("/listParam")
    @ResponseBody
    public String listParam(@RequestParam List<String> likes){
        System.out.println("集合参数传递 likes ==> "+ likes);
        return "listParam";
    }

  5. 请求参数名字 和 集合对象名 一致(请求参数名字相同,值有多个)

  6. 要想要把请求参数映射到集合对象中,要使用:@RequestParam

json类型

json常见的形式

//- json对象
      User
      {"name":"zs","age" : 18}
//- json数组
      String[] 
      ["a","b","c"]
//- json数组(POJO)
List<User>
[{"name":"zs","age" : 18},{"name":"ls","age":19}]

<--需要的依赖-->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.0</version>
</dependency>

<--开启json数据自动转换的注解-->
@EnableWebMvc

pojo类型 参数传递需要在参数前添加 @RequestBody注解

@RequestMapping("/pojoParamForJson")
@ResponseBody
public String pojoParamForJson(@RequestBody User user){
    System.out.println("pojo(json)参数传递 user ==> "+user);
    return "pojoParamForJson";
}

POJO集合参数:json数组数据与集合泛型属性名相同 (定义List类型形参即可接收参数)

@RequestMapping("/listPojoParamForJson")
@ResponseBody
public String listPojoParamForJson(@RequestBody List<User> list){
    System.out.println("list pojo(json)参数传递 list ==> "+list);
    return "listPojoParamForJson";
}

 总结:

  • url格式请求参数

    • @RequestParam (接收集合类型的参数)

  • json格式请求参数

    • @EnableWebMvc //开启webmvc功能(功能之一: 自动实现json和pojo转换)

    • @RequestBody //在参数前面添加,用于接收json格式参数映射到pojo上

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值