当前位置: 代码网 > it编程>编程语言>Java > SpringBoot如何接收前端传递参数

SpringBoot如何接收前端传递参数

2024年08月06日 Java 我要评论
1)url参数参数直接拼接在url的后面,使用 ? 进行分隔,多个参数之间用 & 符号分隔。例如:http://localhost:8080/user?name=zhangsan&id

1)url参数

  • 参数直接 拼接在url的后面,使用 ? 进行分隔,多个参数之间用 & 符号分隔。
  • 例如:http://localhost:8080/user?name=zhangsan&id=1
  • 后端接收(在controller方法的参数列表中使用 @requestparam 注解):
@getmapping("/user")
public user getuser(@requestparam(name="name") string name,@requestparam(name="id") long id){
    // 处理 ...
}

2)请求头(http headers)

  • 请求头可以携带一些属性,如:message -> "123",可以放在请求头中
  • 例如:使用请求头中authorization属性进行身份校验
  • 后端接收(在controller方法的参数列表中使用 @requestheader 注解):
@getmapping("/verify")
public boolean verify(@requestheader(name="authorization") string token){
    // 处理 ...
}

3)请求体(body)

  • post、put等请求可以在请求体中发送参数,请求体通常以 json 或表单形式传递
  • 例如,通过  post  请求发送 json 数据:{"id": 1,"name": "小明", age: 18}
  • 后端接收(在controller方法的参数列表中使用 @requestbody 注解):
public class user{
    private long id;
    private string name;
    private integer age;
    //get、set方法等...
}
//接收参数部分提取
@postmapping("/adduser")
public void adduser(@requestbody user user){
    // 处理 ...
}

4)表单(form)

  • 一般通过 post 请求发送,表单中的每一项都会拼接到url后面
  • 例如:
              name                张三
              age                18

这个表单拼接在 http://localhost:8080/adduser 后面: 

http://localhost:8080/adduse?name=张三&age=18,所以要用@requestparam注解

@postmapping("/adduser")
public void adduser(@requestparam(name="name") string name,@requestparam(name="age") integer age){
    // 处理 ...
}

5)路径参数(path param)

@getmapping("/getuser/{userid}")
public user getuser(@pathvariable(name="userid") long id){
    // 处理 ...
}

6)cookie  

  • cookie是浏览器存储在用户电脑上的一些数据,一般存在有效期, 
  • 可以通过 @cookievalue 注解获取指定的cookie数据
@getmapping("/login")
public boolean login(@cookievalue(name="username") string username,
                     @cookievalue(name="password") string password){
    // 处理 ...
}

7)在路径参数中封装的多条数据   

        其中boss是路径,"name=老板"与"age=44"属于boss路径下的参数

        同理emp是路径,"name=员工"与"age=18"属于emp路径下的参数

  • 利用 @matrixvariable 注解进行获取路径内的数据
  • 如果要获取路径参数可以用 @pathvariable 注解
/*
	@matrixvariable中的属性:
		name: 指定获取路径内数据的名称
		pathvar: 指定路径名称
*/
@getmapping("/{boss}/{emp}")	// boss是路径中的boss	emp是路径中的emp
public void testmatrixvariable(
        //获取路径内封装的数据
    	@matrixvariable(name="name",pathvar="boss") string name,
        @matrixvariable(name="age",pathvar="boss")  integer age,
        @matrixvariable(name="name",pathvar="emp")  string name,
        @matrixvariable(name="age",pathvar="emp")   integer age,4
    	//获取路径参数
        @pathvariable(name="boss") string boss,
        @pathvariable(name="emp")  string emp
        ){
    // 处理 ...
}

到此这篇关于springboot接收前端传递参数的文章就介绍到这了,更多相关springboot接收前端参数内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com