首先說重點:GET請求與@RequestParam,POST請求與@RequestBody是絕配。
請求分為get與post,所有的get請求都是將參數附加到url路徑進行傳遞的,post請求則是通過請求體中傳遞的。
后台接受的參數值只有兩種途徑,一是url路徑,二是請求體。
url路徑傳值:
1、如果是localhost:8080/index?username=afei&password=123這種形式的,那么就可以用@requestparam取出,如圖
2、如果是占位符的形式,那么可以使用注解@pathvariable取出。例如:
請求體傳值:
1、如果參數在請求體中,那么也可以使用@requestparam逐個取出,可見@requestparam是通用的,方式如下:
2、不過post請求可以使用特殊的注解——@RequestBody,有一個使用的前提,請求體是以json字符串的形式傳遞,就可以使用。這樣將復雜的值封裝起來,更利於傳值。使用@RequestBody,注意必須在ajax中設置content-type為json,並且將json格式化。
當然還有其他的方法,但是日常開發用這些基本上就都可以解決了。