Я очень новичок в Grails и надеюсь, что у меня к вам простой вопрос.
У меня есть DomainModel, и внутри этой модели есть связанная модель (один ко многим). Скажем, Сервис и сервис как 'n' задач.
Я выбираю (через findAllBy ()), например, 3 службы, и каждая служба имеет по крайней мере одну задачу или три, например.
Теперь мой вопрос. Я не хочу вернуть "render foundServices as JSON". Причина: я не хочу, чтобы люди во всем мире знали мое определение модели и некоторые, возможно, «секретные» свойства, которые все автоматически заполняются при возврате / выборе базы данных. Это правильная мысль или «слишком большая и слишком глубокая безопасность»?
Поэтому я попытался выяснить, как я могу вернуть соответствующие данные, которые мне нужны, аналогично этим объектам.
Я пытался:
List<Service> servicesSelection = Service.findAllByCompany("someCompany")
ArrayList services = new ArrayList();
for (Service service: servicesSelection) {
ArrayList myService = new ArrayList()
myService .add(service.id)
myService .add(service.getServiceName())
for (Tasks task: service.tasks) {
ArrayList serviceTasks = new ArrayList()
serviceTasks.add(task.id)
serviceTasks.add(task.getTaskName())
myService.add(serviceTasks)
}
services.add(myService)
}
render services as JSON
1) Это слишком много "накладных расходов"?
2) Как вы думаете, "хорошо, не имеет значения, верните всю DomainModel (из результатов поиска)"
3) Если я соберу свои собственные списки массивов, как это можно сделать, чтобы они были похожи на доменные модели, чтобы легко получить доступ ко всем свойствам и списку задач 'n' в каждой службе
Большое спасибо!