나는 다음과 같은 한 도메인 클래스 명명 : 상자를위한 Marshaller의 구성 명명 된가 Grails는 JSON 마샬에 대한 구성 2.4.4
class Domain1{
String prop1
Domain2 prop2
}
class Domain2{
String prop3
}
그리고이 각
나는이 이름이 설정을 사용하려고
JSON.createNamedConfig('PUBLIC_API'){
it.registerObjectMarshaller(Domain1){Domain1 domain1->
return ['key1': domain1.prop1, 'key2': domain1.prop2]
}
}
JSON.createNamedConfig('PUBLIC_API'){
it.registerObjectMarshaller(Domain2){Domain2 domain2->
return ['key1': domain2.prop3]
}
}
, 마샬링은 부모 도메인 객체에서만 수행되며 중첩 된/자식 클래스의 마셜 러는 호출되지 않습니다.
그래서,
{
"key1": "value1",
"key2": {
"id": 1,
"class" : "Domain2",
"prop3" : "value2"
}
}
이 설정
JSON.use('PUBLIC_API'){
render domain1 as JSON
}
결과를 사용하여 내가 누구와 함께 일했다 grails documentation
에 이름 마샬 CONFIGS의 이러한 사용에 대해 아무것도 찾을 수 없습니다 그런가요? 또는 이것이 심지어 지원된다면?
중첩 된 마셜 러는 이름이 지정된 구성없이 정상적으로 작동하지만 내 유스 케이스는 아닙니다. 도메인 당 최소 2 가지 다른 형식을 등록해야하며 &라는 이름의 구성이 안도감이 될 것이라고 생각했습니다. – v1p
3 개의 다른 구성 ... 이름이 지정되지 않은 구성 및 2라는 자식 도메인에 대한 2 개의 구성을 추가했습니다. 이것은 문제를 해결하지 못하지만 해결 방법 일뿐입니다. – v1p