springMVC传参

1.简单参数接收

1.1说明

不同类型的请求注解说明:
     @PostMapping("")提交
     @PutMapping("")修改
     @DeleteMapping("")删除
     @GetMapping(“”)查询 

        1.参数名称必须与URL中的名称一致.
        2.SpringMVC可以根据用户的需求,自动的实现类型的转化
 底层实现: springmvc所有的参数默认都是String类型
 根据用户参数的类型,自动实现转化.

1.2对象参数接收

URL地址: http://localhost:8090/findUserByNS?name=王昭君&sex=女

    规则: SpringMVC 可以利用对象的方式接收
     * 底层实现: 参数name="xxx" 拼接set形成setName,之后检查对象中
     * 是否有对应的setName(), 如果匹配该方法,则为对象赋值.
     * 注意事项: 参数名称最好以属性名称一致

1.3 RestFul参数接收

1.3.1 RestFul介绍

        REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。
        定义: RESTFul 是一种请求的规则(语法/定义)
1.3.2 RESTFul说明

        Get请求: http://localhost:8090/findUserByNS?name=王昭君&sex=女
信息:

        1.查询请求
        2.参数直观 name=xxx
        3.请求的结构冗余. 不合适多个参数的写法.

请求优化:
        http://localhost:8090/user/王昭君/女
优势:
        1. 用户不能了解请求的意图 规定:请求方法名称不能出现 “动词”,只能写名词.
        2. 参数保密, 只有后端服务器清楚参数的意义.
        3. 请求字节传输量少 简洁.
注意事项:
        1. URL地址中参数与参数之间使用 /分隔.
        2. 请求的参数的位置一旦固定,不可轻易修改.
        3. 用户发请求时,就应该按照restFul的结构执行.
        4. restFul请求一般以get请求为主. put/delete/post

 案列:

    /**
     * 后端服务器接收规则:
     *     1.参数与参数之后使用 /分隔
     *     2.参数的位置一旦确定,一般不变.
     *     3.接收的参数使用 {形参变量}
     *     4.使用@PathVariable 接收
     *     5.如果参数有多个建议使用对象接收  参数必须与属性一致,SpringMVC自动封装
     * 注意事项: 如果名称不统一,则需要转化 具体如下:
     *          @PathVariable("name") String username
     *
     * url: http://localhost:8090/user/貂蝉/10
     * 参数: name/age
     * 返回值: List<User>
     */
    @GetMapping("/user/{name}/{age}")
    public List<User> findUserByNA(User user){

        return userService.findUserByNA(user);
    }
   
//说明: restFul写法1
    @GetMapping("/user/{name}/{age}")
    public List<User> findUserByNA(@PathVariable String name,
                                   @PathVariable Integer age){
        System.out.println(name);
        System.out.println(age);

        return null;
    }


//同名提交问题
     /**
     * 规则: 如果参数使用,号分隔,则SpringMVC可以自动的转化为数组.
     * 查询多个用户
     * URL: http://localhost:8090/getUserByIds?ids=1,3,4,5
     * 参数: ids = 1,3,4,5
     * 返回值: List<User>
     */
    @GetMapping("/getUserByIds")
    public List<User> getUserByIds(Integer[] ids){

        return userService.getUserByIds(ids);
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值