Spirng MVC前端参数传递

1.在URL后使用?和&拼接数据

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

根据name=“王昭君” sex=女 查询用户数据?

  1. 使用简单参数接收
  2. 使用对象接受参数

优点:传输方便,引用广泛(请求类型: GET/DELETE /POST/PUT)参数直观,适合少量参数的传递

缺点:数据不安全,容易被获取

注意,URL与数据之间使用“?”分隔,不同的数据以“&”分割,数据类型后添加“=”追加对应数据(无数据则为null)

  可以直接使用id参数,或者包含该参数的对象获取参数,在注解中只需要标明URL地址即可

@GetMapping("/getUserlist")
//使用简单参数接收
//public List<User> findUserByNS(Sting name,String sex) {
//使用对象接受参数
public List<User> findUserByNS(User user) {
        QueryWrapper<User> queryWrapper = new QueryWrapper<>(user); return         userMapper.selectList(queryWrapper); 
}

  同名提交

用户查询id=1,3,4,5的数据. 如果有同名参数一般采用 ',号 ’ 分隔
URL: http://localhost:8090/getUserByIds?ids=1,3,4,5

如果参数使用,号分隔,则SpringMVC可以自动的转化为数组查询多个用户

使用对应的List获取参数

@GetMapping("/getUserByIds")

public List<User> getUserByIds(Integer[] ids){

        List<Integer> idList = Arrays.asList(ids);

        return userMapper.selectBatchIds(idList);

}

2.RestFul参数接收

URL: http://localhost:8090/user/貂蝉/10

查询 name=“貂蝉” age> 10 岁 的用户.

使用对象接受参数

public List<User> findUserByNA(User user){

使用参数接受

public List<User> findUserByNA(@PathVariable String name,@PathVariable Integer age){

优点

  1. 用户不能了解请求的意图,请求方法不能出现动词。只能写名称
  2. 参数保密,只要后端了解数据的意义
  3. 传输量少,简洁
  4. 是个多个参数使用

缺点

        数据依然不安全,容易被获取,但是获取者不会清楚数据的意义

注意:

  1. URL地址中参数与参数之间使用 /分隔.
  2. 请求的参数的位置一旦固定,不可轻易修改.
  3. 用户发请求时,就应该按照restFul的结构执行.
  4. restFul请求一般以get请求为主. put/delete/post

可以直接使用id参数,或者对象获取参数,在注解中需要追加参数,需要在方法中添加@PathVariable 注解,
可以使用对象,或者包含该参数的对象接受参数(不需要添加注解)

@GetMapping("/user/{name}/{age}")

//使用参数接受
//public List<User> findUserByNA(@PathVariable String name,@PathVariable Integer age){
//使用对象接受参数
public List<User> findUserByNA(User user){

        return userService.findUserByNA(user);
}

3.使用对象传输参数

URL:http://localhost:8090/saveUser

let user = { name: '小燕子', age: 18, sex: '女' }

let url = "http://localhost:8090/saveUser"

axios.post(url,user) .then(promise => {

        console.log(promise.data)

})

参数不会直接显示在URL中,而是以对象的形式打包发送给服务器,常用于get,put,post命令

优点:安全性高,传输量大,适合登录,注册,修改等form提交,大量数据提交的情况

缺点:书写麻烦,必须添加注解@RequestBody

注意:如果提交数据不满足,将默认为null

    @PostMapping("/saveUser")
    public String saveUser(@RequestBody User user){

        userMapper.insert(user);
        return "新增用户成功!!!";
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值