我对 Grails 很陌生,所以我希望我有一个简单的问题要问你。
我有一个 DomainModel ,这个模型里面是一个相关的模型(一对多)。假设服务和服务作为“n”个任务。我选择(通过 findAllBy()),例如 3 个服务,例如,每个服务至少有一个或三个任务。
现在我的问题。我不想返回“将 foundServices 渲染为 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”任务列表
非常感谢你!