springMVC介面接受前端傳遞引數資料型別總結

2021-10-08 22:45:10 字數 1216 閱讀 4646

在springmvc中,controller中方法的引數是自動注入的,在使用註解的方式下,通常有:

@requestparam:  取querystring當中的引數

@requestbody: 取request 這個訊息體 (可以組裝json物件)

在不使用註解的情況下,預設有一些物件可以自動注入如:

multipartrequest除此之外不使用註解的情況下,也可以接受前台傳入的querystring中的引數。

1、從querystring中的引數中獲取:

@requestparam:接受物件型別(integer、string、boolean等基本資料型別),不能接收自定義型別。

不帶註解:接受基本資料型別,若接收型別為自定義型別,會組裝引數中與自定義型別屬性名和型別相符的引數。

這種方式總結:

(1).獲取自定義型別的物件時,不使用註解即可以獲取

(2).在組裝物件時可以使用以被獲取過的引數

2、從請求體(body)中獲取(及獲取物件資料)

當請求體中是一段json資料時,@requestbody會解析該json字串並將其注入指定的自定義型別中。

注意:2.@requestbody接收的是乙個json物件的字串,而不是乙個json物件。在ajax請求往往傳的都是json物件,用 json.stringify(data)的方式就能將物件變成字串。bb

=222。f

orm表

單提交以

及jqu

ery的

bbb=222。form表單提交以及jquery的

bbb=22

2。fo

rm表單

提交以及

jque

ry的.post()方法所傳送的請求就是這種型別。例如後台介面接收資料的物件前不加@requestbody修飾。

3、接收前端傳遞的陣列

接收陣列可以使用註解方式的@requestparam、@requestbody或者無註解的方式,也可以同時使用他們三個

由上可知道,後台需要處理什麼資料,或者需要前台需要傳遞什麼型別的資料時,我們既可以根據這些特性來判斷,而不會導致有時contenttype不一致,甚至不知道自己需要前端傳什麼樣型別的資料格式等等。

SpringMVC 接受前端傳參

responsebody public string test user vo 前端方法 xx.net.ajax success data 如果這時在後端加註解 requestbody,那麼會報錯 這樣的引數是不符合key value形式的,因為轉完之後實際上引數成為了json字串,而非key va...

spring mvc接受前端投遞的json問題

class user json public void create user user 此時因為json資料中比bean物件多了乙個屬性,所以後台spring mvc在處理的時候會報400 bad request錯誤,有什麼辦法可以過濾掉前端傳過來的多餘的屬性麼?json傳過來的屬性可能很多且未知...

springmvc 接受引數

1.接受陣列型別引數 前台 var arr 1,2,3,4,5 springmvc 傳入陣列 function function data responsebody public string getint requestparam items string items 2.傳入pojo型別引數,注...