1. 程式人生 > 其它 >springboot服務端獲取前端傳遞的引數

springboot服務端獲取前端傳遞的引數

1、直接把引數寫在Controller相應的方法的形參中

    @RequestMapping("a")
    public void tta(String name,String password) {

        String tName = name;
        String tPassword= password;

        System.out.println("形參測試:"+tName+","+tPassword);

    }

呼叫介面傳參: http://localhost:8080/a?name=123&password=456

2、使用HttpServletRequest接收引數

    @RequestMapping("b")
    public void ttb(HttpServletRequest httpServletRequest) {

        String tName = httpServletRequest.getParameter("name");
        String tPassword= httpServletRequest.getParameter("password");;

        System.out.println("HttpServletRequest測試"+tName+","+tPassword);

    }

呼叫介面傳參: http://localhost:8080/b?name=456&password=789

3、使用bean來接收引數

建一個bean類對應接收的引數

package com.example.demo;

public class User {

    String name;
    String password;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

呼叫bean接收引數

    @RequestMapping(value = "c")
    public void ttc(User user) {

        String tName = user.getName();
        String tPassword= user.getPassword();

        System.out.println("bean測試"+tName+","+tPassword);

    }


呼叫介面傳參:

4、通過@PathVariable獲取引數

這種傳參方式是以路徑的方式傳參

    @RequestMapping(value = "d/{name}/{password}")
    public void ttd(@PathVariable String name, @PathVariable String password) {

        String tName = name;
        String tPassword= password;

        System.out.println("@PathVariable測試"+tName+","+tPassword);

    }

呼叫介面傳參: http://localhost:8080/d/2/3

5、使用@ModelAttribute註解獲取參

    @RequestMapping(value = "e")
    public void tte(@ModelAttribute User user) {

        String tName = user.getName();
        String tPassword= user.getPassword();

        System.out.println("@ModelAttribute測試"+tName+","+tPassword);

    }

呼叫介面傳參

6、用註解@RequestParam繫結請求引數到方法入參

這種方式預設是required = true,必須傳對應的引數,不然會報錯,可以改成required = false

    @RequestMapping(value = "f")
    public void ttf(@RequestParam(required = true) String name, @RequestParam String password) {

        String tName = name;
        String tPassword = password;

        System.out.println("@RequestParam測試" + tName + "," + tPassword);

    }

呼叫介面傳參:

7、使用@RequestBody獲取引數

這種方式主要用於接收json資料型別

    @RequestMapping(value = "g")
    public void ttg(@RequestBody User user) {

        String tName = user.getName();
        String tPassword= user.getPassword();

        System.out.println("@RequestBody測試" + tName + "," + tPassword);

    }

呼叫介面傳參