@responsebody@requestbody인스턴스
2895 단어 @ResponseBody
$("#sub").click(function(){
var m = {
"account": $("#_account").val(),
"passwords": $("#_pass").val(),
"realname": $("#real_name").val(),
"phonenumber": $("#phone_number").val(),
"sex": $("input:checked").val(),
"mailname": $("#mail_name").val()
};
$.ajax({
type:"POST",
async : false,
url:"/demo/user/receive",
dataType:"json",
contentType:"application/json; charset=utf-8",
data:JSON.stringify(m),
success:function(data){
alert("return map success!");
newpage();
},
error:function(data){
alert(" ")
}
})
Controller:
@RequestMapping(value="receive", method=RequestMethod.POST, consumes="application/json")
public @ResponseBody Map<String, String> receiveData(@RequestBody RegInfo info){
Map<String, String> reg_check = regInfoService.checkRegInfo(info);
for(Map.Entry<String, String> entry:reg_check.entrySet()){
System.out.println(entry.getKey()+"--->"+entry.getValue());
}
System.out.println(info);
System.out.println(info.getRealname());
return reg_check;
}
1. 위 코드의 데이터는 String 형식의 데이터가 필요합니다. 여기 m는 json 대상이기 때문에 JSON을 사용해야 합니다.stringify () 를 문자열 형식으로 변환한 데이터는 "m"입니다.
2. @requestbody는 프론트에서 전송된 데이터를 수신하는 데 사용되며, 수신된 데이터는 문자열의 형식이지만, 이 주석은 문자열의 변수 값을 대상 info에 주입하여 info 실체의 속성 이름과 m의 속성이 일치하도록 요구합니다.
3. @responsebody는 백엔드 데이터를 responsebody에 직접 놓고 되돌려줍니다. 여기 @responsebody 주석은 맵의 실례를 json 대상으로 변환하기 때문에 전방 데이터에서 받는 것은 json 대상입니다.
4.consumes는 콘텐츠-type:application/json의 요청만 처리한다고 표시합니다.상대적인produces='application/json'은 처리 요청에만 accept:application/json(즉 반환 형식은 application/json 형식)을 포함하는request를 표시합니다.
주:ajax 중
data:String
기본적으로 String 유형으로 자동 변환됩니다.프로세스 데이터 속성으로 자동 변환 금지;
processData:Boolean
기본적으로true입니다.false를 위해 데이터의 데이터를 요청 문자열로 자동 변환하는 것을 금지합니다.
본인은 여전히 약간의 의문이 있습니다. 데이터가 기본적으로 문자열로 자동으로 변환되는데 왜 JSON을 사용해야 합니까?stringify () 변환;(테스트를 사용하지 않으면 전송 실패)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[210530] API 방식static, MVC 다음으로 Spring의 세 번째 개발 방식으로 객체를 반환한다. ResponseBody의 사용으로 HttpMessageConverter를 통해 JSON 스타일로 바꿔 반환을 해준다. MVC와 달...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.