JQuery Ajax 통신과 Spring 인수 처리 방법

JQuery의 Ajax통신을 하면 하기와 같이 보낸다.

 $.ajax({
            type:"POST",
            url:'http://localhost:8180/GisProject/MainService',
            data:{mydata:JSON.stringify(params)},
            datatype:"json",
            success:function(msg){
               console.log(msg);},
            error:function(xhr,status){
                 console.log(status);},});

이 경우  Spring 의 기본 Parameter로는 받을 방법이 없다.. 왜 냐면. Requert.payload 형식으로 넘어 가기 때문에..

 

이를 받기 위해선 하기와 같은 처리가 필요 하다..

// Request playload Data 가져오기.
BufferedReader bfr= req.getReader();  // getReader를 통해서 읽어 올 수 있다.
StringBuffer sbPayLoad = new StringBuffer();
String sCurrentLine;
while (( sCurrentLine = bfr.readLine()) != null) {
sbPayLoad.append( sCurrentLine );
}

읽어온 객체 ( 대부분 JSON ) 은 하기와 같이 파싱해서 사용한다.

 

// json parsering
JSONObject jsonObjectMain = JSONObject.fromObject( sbPayLoad.toString() );
String page = jsonObjectMain.getString( “page” );
String code = jsonObjectMain.getString( “code” );
JSONObject jsonObjectReq =jsonObjectMain.getJSONObject(“requestData”);

String lo_code = jsonObjectReq.getString( “lo_code” );
String sector = jsonObjectReq.getString( “sector” );

 

 

이것 때문에 2시간 넘개 헤맸다. ㅠㅠ

이상.