SpringMVC参数的传递

1.四种请求方式

        前面我们说过了SpringMVC,它里面用于接收浏览器请求用的都是@RequstMapping()这个注解可以被所有方式请求,无独立性,以后用独立写法,所以以后改成独立写法,什么注解做什么事。

  • @PostMapping():用于新增、插入
  • @PutMapping():用于修改
  • @DeleteMapping():用于删除
  • @GetMapping():用于查询

删除查询是一组,新增修改是一组,而前端常见的请求方式也是这4中,一一对应。

2.参数接收

普通参数

1.前端参数名称必须与URL中的名称一致.

 2.SpringMVC可以根据用户的需求,自动的实现类型的转化 

底层实现: springmvc所有的参数默认都是String类型,根据用户参数的类型,自动实现转化.

对象接收

        SpringMVC 可以利用对象的方式接收

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

同名查询

例:前端同名查询 如id=1,3,5,8

这种用逗号分隔的MVC自动转化为数组,直接用数组接收就行

URL: http://localhost:8090/getUserByIds?ids=1,3,4,5

@GetMapping("/getUserByIds")
    public List<User> getUserByIds(Integer[] ids){

        return userService.getUserByIds(ids);
    }

3.restFul参数接收

3.1概念

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

3.2语法说明

前端传入:

普通Get请求: http://127.0.0.1:8090/findUserByNS?name=阎静辉&sex=男
信息: 1.查询请求
2.参数直观 name=xxx
3.请求的结构冗余. 不合适多个参数的写法.

请求优化:

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

后端接收:

接收语法:@GetMapping("user/{name}/{age}")

注意事项:

  1. 参数与参数之后使用 /分隔
  2. 参数的位置一旦确定,一般不变.
  3. 接收的参数使用 {形参变量}
  4. 使用@PathVariable 接收
  5. 如果参数有多个建议使用对象接收  参数必须与属性一致,SpringMVC自动封装

例:

 @GetMapping("user/{name}/{age}")
//    public List<User> findUserByNA(@PathVariable String name,
//                                   @PathVariable Integer age){
//        return null;
//
//    }

如果参数过多,写起来还是很麻烦,所以我们用对象接收,mvc底层拼接set值,在实体类里匹配

@GetMapping("user/{name}/{age}")
    public List<User> findUserByNA(User user){
        return userService.findByNA(user);
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值