前端传参的方式
get请求
GET 请求是一种常见的 HTTP 请求方法,用于从服务器获取资源。它通常用于获取数据,而不会对服务器端数据进行修改。在使用 GET 请求时,请求参数通常会加在 URL 的地址后面
前端请求,参数使用?拼接在url后面
http://localhost:8080/admin/search?username=张三&password=123
后端接收4种方式
1️⃣对象接收
/*get请求参数拼接在url地址?后面
* 使用对象接收 */
@GetMapping("/search1")
public String getParams1(Params params) {
System.out.println(params);
return params.toString();
}
2️⃣字段接收(不使用注解)
/*get请求参数拼接在url地址?后面
* 不使用注解接收*/
@GetMapping("/search2")
public String getParams2(String username,String password) {
return username+":"+password;
}
3️⃣字段接收(使用注解@RequestParam)
/*get请求参数拼接在url地址?后面
* 使用注解接收
* required = true/false代表是否必须传入
* defaultValue 表示如果前台没有传递参数就默认为当前指定的值
*/
@GetMapping("/search3")
public String getParams3(@RequestParam("username") String name,
@RequestParam("password") String pass) {
System.out.println("用户名为:"+name);
System.out.println("密码为:"+pass);
return name+":"+pass;
}
4️⃣使用HttpServletRequest接收
/*get请求参数拼接在url地址?后面
* 使用HttpServletRequest请求接收*/
@GetMapping("/search5")
public String getParams5(HttpServletRequest req) {
String username = req.getParameter("username");
String password = req.getParameter("password");
return username+":"+password;
}
前端请求,参数使用/拼接在url后面
http://localhost:8080/admin/search4/张三
后端使用注解接收 @PathVariable
/*get请求参数拼接在url地址/后面
* 使用注解接收*/
@GetMapping("/search4/{name}")
public String getParams4(@PathVariable("name") String name) {
System.out.println("用户名为:"+name);
return name;
}
post请求
POST 请求是一种常见的 HTTP 请求方法,用于向服务器提交数据并请求处理。相对于 GET 请求,POST 请求通常用于修改、更新或创建资源。
在使用 POST 请求时,请求参数通常会包含在请求体中,而不是附加在 URL 上。请求体中的参数可以是表单数据、JSON 数据、XML 数据等,具体取决于请求的内容类型(Content-Type)。
前端请求,发送json格式数据
当前端使用post请求发送json格式的数据时,后端需要定义一个实体类,实体类中的属性和json数据中的key相同
http://localhost:8080/admin/search6
{
"username":"张三",
"password":"123456"
}
后端使用注解接收@RequestBody
/*前端放松post请求,参数是json格式
* 使用注解@RequestBody接收*/
@PostMapping("/search6")
public String getParams6(@RequestBody Params params) {
System.out.println("用户名为:"+params.toString());
return params.toString();
}
public class Params {
private String username;
private String password;
//get和set方法
}