2012-01-17 2 views
1

나는 saveAssignments /에서 경로에 같은POST 데이터가 Play에서 검색되지 않습니다! 프레임 워크

[{"profile_sfid":"00eA0000000l3v7IAA", "object":[{"name":"null", "viewable":[],"editable":[]},{"name":"account", "viewable":["Object Type","Salesforce ID"],"editable":["Test Multi","Test Checkbox"]},{"name":"contact", "viewable":["Object Type","Salesforce ID"],"editable":["Test Multi","Test Checkbox"]}]}] 

를 유효 JSON의 집합을 게시하는 볼 수 있습니다. , 사후 작업은 200 성공 메시지를 반환하지만, 컨트롤러 방법은 JsonElement

@Global 
public class GsonBinder implements TypeBinder<JsonElement> { 

@Override 
public Object bind(String name, Annotation[] annotations, String value, Class actualClass, Type genericType) throws Exception 
{  
    return new JsonParser().parse(value); 
} 
} 

어떤 도움이 많이 주시면 감사하겠습니다에 대해 다음 GSONBinder를 사용하여 로거 문

public static void saveAssignments(JsonElement json) 
{ 
    Logger.debug("Hey guys, here is my json! " + json); 
} 

에 JSON에 null을 반환 내가 왜 이것을 올바르게 받아들이지 않는지 확신 할 수 없기 때문입니다.

답변

0

내가받을 수있는 JSON 객체 (예에서 "플레이어"클래스)와 같은 구조를 가진 POJO 클래스를 사용하여 비슷한 일을하고 있어요 :

public class Player { 
    public String name; 
    ... 
} 

public static void addPlayerJSON(JsonObject body) { 
    Gson gson = new Gson(); 
    Player newPlayer = gson.fromJson(body, Player.class); 
    Logger.debug("Player name: " + newPlayer.name); 
    ... 
} 

은 "newPlayer"개체를 json에서 파싱 된 데이터가 있습니다.

0

"json = {your json}"매개 변수를 전달하면 서버 측에서 받게됩니다. 또는 "json"매개 변수의 이름을 "body"로 변경하여 요청 본문에 게시 된 json을 사용할 수 있도록하십시오.

관련 문제