zoukankan      html  css  js  c++  java
  • springMvc接口请求参数

    //作用:通常用在`Controller`里,用于设置访问路径
    @RequestMapping(
        value="访问路径",
        method=请求方式,
        params="请求参数"
    )

    一、接收表单参数

    `@RequestParam(value="表单参数名称", required=是否必须,defaultValue = "默认参数")`
    简单参数绑定(不加注解@RequestParam,名称与表单参数保持相同)

    - 如果客户端提交的表单参数名称,和Controller里方法参数名称一样,Spring会把表单数据直接绑定到方法参数上

    - SpringMVC会自动绑定同名参数,并自动转换类型

    绑定简单POJO对象(java对象接收,成员变量名一致)

    - 客户端提交的表单参数名称,必须等于JavaBean的属性名

    绑定复杂POJO

    - 通常把List、Map等放到POJO对象里

    - 客户端提交的表单参数名称,必须和POJO里的属性名称相等

    - 设置List的数据时,表单参数名称:属性名[索引].属性名

    - 设置Map的数据时,表单参数名称:属性名['key'].属性名

    <form action="${pageContext.request.contextPath}/param/complexPojo" method="post">
        <h5>vo里的user</h5>
        <input type="text" name="user.name" value="tom"><br>
        <input type="text" name="user.age" value="20"><br>
        <h5>vo里的userList</h5>
        <input type="text" name="userList[0].name" value="tom1"><br>
        <input type="text" name="userList[0].age" value="21"><br>
        <input type="text" name="userList[1].name" value="tom2"><br>
        <input type="text" name="userList[1].age" value="22"><br>
        <h5>vo里的userMap</h5>
        <input type="text" name="userMap['u1'].name" value="jack1"><br>
        <input type="text" name="userMap['u1'].age" value="31"><br>
        <input type="text" name="userMap['u2'].name" value="jack2"><br>
        <input type="text" name="userMap['u2'].age" value="32"><br>
        <br>
        <input type="submit" value="提交">
    </form>
    
    
    public class QueryVO {
        private User user;
        private List<User> userList;
        private Map<String, User> userMap;
    
        //get/set...
        //toString...
    }
    
    @RequestMapping("/complexPojo")
    public String pojoParam2(QueryVO vo){
        System.out.println(vo);
        return "success";
    }
    

      

    @RequestMapping

    • 语法:@RequestBody(requried=是否必须有请求体)

    • 作用位置:用于方法的参数上,表示把请求体的数据,赋值给方法参数

    • 要求:必须是POST方式提交

      • 只有POST方式提交,才有请求体;GET方式提交,没有请求体

    @RequestMapping("/body2")
    public String body2(@RequestBody User user){
        System.out.println(user);
        return "success";
    }

    @PathVariable

    @RequestMapping(value = "/pathVar/{id}",method = RequestMethod.GET)
    public String pathVar(@PathVariable("id") Integer id){
        System.out.println(id);
        return "success";
    }

    表单提交 formdata提交的用@requestParams 或者javabean对象绑定

    json提交的,后端用@requestbody接收json数据转成

  • 相关阅读:
    Python实现归并排序
    zip解决杨辉三角问题
    Python中协程、多线程、多进程、GIL锁
    Python copy(), deepcopy()
    Python collections的使用
    javascript中的类
    python3中的zip函数
    三数之和(Python and C++解法)
    两数之和(Python and C++解法)
    Python中list、dict、set、tuple的用法细节区别
  • 原文地址:https://www.cnblogs.com/chenfx/p/14383684.html
Copyright © 2011-2022 走看看