Ben github örnek pet kliniği grails app bakıyordu.Good Grails hizmetine bir kayıt yöntemi eklemek için Bakımı yapılabilir yol
bir ekleme hayvanlar için bir yöntem vardır PetclinicService
adı hayvan oluşturmak için olan bir hizmete sahip: bir merak ediyorum
def pet = petclinicService.createPet(params.pet?.name, params.pet?.birthDate,
(params.pet?.type?.id ?: 0) as Long, (params.pet?.owner?.id ?: 0) as Long)
: şöyle denetleyicisinden kullanılıyor
Pet createPet(String name, Date birthDate, long petTypeId, long ownerId) {
def pet = new Pet(name: name, birthDate: birthDate, type: PetType.load(petTypeId), owner: Owner.load(ownerId))
pet.save()
pet
}
Bu, bir şeyleri grails'e kaydetmenin en iyi yolu olup olmadığını biliyor mu? Bu yaklaşımla Pet
etki alanına başka bir alan eklediğimde, String color
deyin, daha sonra değişikliklerin tamamlanması için üç sınıfa (Pet, PetController, and PetclinicService
) dokunmak zorunda kalacağım.
params
nesnesinin tamamını hizmete göndermenin ve otomatik olarak etki alanına eşlenmesini sağlamanın bir yolu var mı? Standart params
haritadaki geçmektir çünkü
Class PetclinicService {
Pet createPet(Map params) {
def pet = new Pet(params)
pet.save()
pet
}
}
Yani, içindeki params' haritasının servisini kötü kullanıyor uygulama? Denetleyicide 'params' ile çalışmak için tetter mi? – havenchyk