天天看點

Controller 擷取前端資料

預設支援的類型

在controller的方法的形參中直接定義上面這些類型的參數,springmvc會自動綁定。
HttpServletRequest對象
HttpServletResponse對象
HttpSession對象
Model/ModelMap對象                

簡單類型的參數綁定

直接在controller中定義一個變量,但是此種傳輸方式有一個限制就是參數名和請求中的參數名必須保持一緻,否則是接收不到資料的。
public String regist(Integer id){}
           

form-data

通過form-data的方式發送請求,參數是通過key-value的形式,在controller中通過@requestparam注解的 方式就可以取到值:

@RequestParam注解用來接收位址中的參數
@RequestParam(value = "name", required = false,defaultValue="aaa") String name
           

json

在發送資料時,data鍵的值一定要寫成JSON.stringify(json),将資料轉換成json格式

1、以RequestParam接收:@RequestParam ("id") int id    //@RequestParam注解用來接收位址中的參數

2、以實體類方式接收json對象:@RequestBody User user    //@RequestBody注解用來接收request的body中的參數(可以接收json格式的資料)

3、以Map接收json對象:@RequestBody Map<String, Object> map

4、以List接收:@RequestBody List<User> list

5、@PathVariable注解可以用一個模型來接收位址欄中的參數:public String getUserInfo(@PathVariable User user) {}

注:@RequestBody:将json資料轉換成bean對象    @ResponseBody:将bean對象轉換成json資料                

請求路徑參數 /url/{id}

url:http://localhost:8080/demo/123?name=ld
    @GetMapping("/demo/{id}")
    public void demo(@PathVariable(name = "id") String id, @RequestParam(name = "name") String name) {
        System.out.println("id="+id);    //123
        System.out.println("name="+name);    //ld
    }                

轉載于:https://www.cnblogs.com/loveer/p/11358417.html