java_接收前端传入参数

588 阅读2分钟

前端传参的方式

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"
}

1703761324609.png

后端使用注解接收@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方法
}