JSON을 통해 Android 클라이언트에 데이터를 전송하는 데 사용되는 Groovy/Grails 웹 사이트가 있습니다. 안드로이드 클라이언트와 Groovy/Grails 웹 사이트를 만들었습니다. JSON에서 동일한 객체를 출력 할 수 있습니다.JSON을 사용하여 Groovy/Grails에서 객체 만들기
JSON 출력을 Java 객체에 매핑하여 안드로이드에서 각각의 객체를 성공적으로 만들 수 있습니다. 그러나 JSON 출력을 사용하여 Groovy/Grails에서 새 도메인 객체를 만들 수 있는지 궁금합니다. JSON 출력을 컨트롤러 액션에 전달하여 객체를 생성하는 방법이 있습니까?
다음은 보내려는 JSON의 예입니다.
{
"class":"org.icc.callrz.BusinessCard.BusinessCard",
"id":1,
"businessCardDesigns":[],
"emailAddrs":[
{
"class":"org.icc.callrz.BusinessCard.EmailAddress",
"id":1,
"address":"[email protected]",
"businessCard":{
"_ref":"../..",
"class":"org.icc.callrz.BusinessCard.BusinessCard"
},
"index":0,
"type":{
"enumType":"org.icc.callrz.BusinessCard.EmailAddress$EmailAddressType",
"name":"H"
}
},
{
"class":"org.icc.callrz.BusinessCard.EmailAddress",
"id":2,
"address":"[email protected]",
"businessCard":{
"_ref":"../..",
"class":"org.icc.callrz.BusinessCard.BusinessCard"
},
"index":1,
"type":{
"enumType":"org.icc.callrz.BusinessCard.EmailAddress$EmailAddressType",
"name":"W"
}
}
]
}
은 "클래스"나는에 저장하려는 도메인에 일치는 ID는 도메인의 ID는 businessCardDesigns 내의 각 항목이며 emailAddrs는에 (유사한 방법을 사용하여 저장해야 도메인 businessCardDesigns 및 emailAddrs는 ArrayList입니다. 미리 많은 감사드립니다!
해결책 :
@RequestMapping(method = RequestMethod.POST, headers = "Accept=application/json")
public ResponseEntity<String> createFromJson(@RequestBody String json) {
Owner.fromJsonToOwner(json).persist();
return new ResponseEntity<String>(HttpStatus.CREATED);
}
이것은 매우 유용하다는 것을 알 수 있습니다. 기여에 감사드립니다. 나는 월요일에 그것을 시험해 볼 것이다. :) – krslynx