目錄
一、使用POJO若前端傳遞過來的數(shù)據(jù)剛好和我們的bean實(shí)體對象屬性一致,則可以使用對象的形式接收。后端實(shí)體類
二、使用Map接收后臺Controller
三、使用@RequestParams
1,params傳參
2.地址拼接傳參
當(dāng)前端傳來json數(shù)據(jù)時(shí),后端有多種方式接收
前端json數(shù)據(jù):
$.ajax({
type:"POST",
url:"",
data:{
?? ? id:121, ? ? ?//數(shù)字
?? ? name:"wb", ? ? //字符串
?? ??? ?},
error=>{
},
success=>{
}
})
一、使用POJO 若前端傳遞過來的數(shù)據(jù)剛好和我們的bean實(shí)體對象屬性一致,則可以使用對象的形式接收。 后端實(shí)體類
@Component
public class user{
? ? private int id;
? ? private String name;
}
后端Controller
@PostMapping("/student/user")
public void getUser(@RequestBody User user){
?? ?System.out.println(user);
? ? }
前端數(shù)據(jù)和bean對象屬性要一致
必須使用@RequestBody注解
當(dāng)前臺傳入數(shù)據(jù)除了實(shí)體類屬性外還有其他數(shù)據(jù)
1.當(dāng)通過params傳入,則使用@RequestParams接收
2.當(dāng)傳入方式跟其他參數(shù)一樣都是data傳入則還是@RequestBody
又因?yàn)锧RequestBody只能使用一次,所以此時(shí)使用實(shí)體類User獲取不到所有屬性,此時(shí)我們需要?jiǎng)?chuàng)建一個(gè)UserDTO繼承User,且給他加入其他傳入?yún)?shù)屬性
public class UserDTO extends User{
? ? ? ? private String? ?age;
}
此時(shí)后臺接收時(shí)如下
?
@PostMapping("/student/user")
public void getUser(@RequestBody UserDTO userDTO){
//獲取user對象 通過多態(tài)
User u=userDTO;
//獲取除此之外的其他屬性
String age=userDTO.getAge();
? ? }
?
二、使用Map接收 后臺Controller
@PostMapping("/lhj/getdata")
public void getData(@RequestBody Map<String,Object>map){
?? ?System.out.println(map);
? ? }
前端傳來的是一個(gè)json對象時(shí):{'id'=1,'name'='ww'},可以用Map來獲取
@RequestMapping(value = "/update")
@ResponseBody
public String updateAttr(@RequestBody Map<String, String> map) {
? ? if(map.containsKey("id"){
? ? ? ? Integer id = Integer.parseInt(map.get("id"));
? ? }
? ? if(map.containsKey("name"){
? ? ? ? String objname = map.get("name").toString();
? ? }
? ? return "success";
對于Map<String,Object>,值的類型建議設(shè)置為Object,這樣可以使Map能接收各種類型的數(shù)據(jù),如字符串、數(shù)字、數(shù)組和對象等。
三、使用@RequestParams
1,params傳參
$.ajax({
url: "/search",
method: "GET",
params: "keyword=1",
success: function(response) {
}
});
若前端請求時(shí)通過params傳參數(shù),則后端需要使用@RequestParams來與傳入?yún)?shù)名相對應(yīng),
?
@PostMapping("/search")
public void getUser(@RequestParams("keyword") String keyword){
? ? }
?
2.地址拼接傳參
$.ajax({
url: "/search?name=hehe",
method: "GET",
params: "keyword=1",
success: function(response) {
}
});
后端獲取參數(shù)文章來源:http://www.zghlxwxcb.cn/news/detail-667079.html
?
@PostMapping("/search")
public void getUser(
@RequestParams("keyword") String keyword,
@RequestParams("name") String name){
}
?
以上就是常見的前后端獲取參數(shù)方式了~~~文章來源地址http://www.zghlxwxcb.cn/news/detail-667079.html
到了這里,關(guān)于前端向后端傳入json 后臺怎么接收(params呢)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!