с использованием Grails v3.3.9.
получил ошибку при доступе к контроллеру restful.Веб-сайт grails показывает это
URI
/api/device
Class
java.lang.NoSuchMethodException
Message
Error creating bean with name 'com.softwood.controller.DeviceController': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.softwood.controller.DeviceController]: No default constructor found; nested exception is java.lang.NoSuchMethodException: com.softwood.controller.DeviceController.<init>()
Caused by
com.softwood.controller.DeviceController.<init>()
У меня настроен UrlMapping следующим образом
get "/api/device"(controller:"device", action:"index")
мой контроллер расширяет RestfulController следующим образом, что не позволит добавить конструктор по умолчанию к классу
class DeviceController extends RestfulController<Device> {
static responseFormats = ['json', 'xml']
//static scaffold = Device
DeviceController(Class<Device> device) {
this(device, false)
}
DeviceController(Class<Device> device, boolean readOnly) {
super(device, readOnly)
}
def index (Integer max) {
params.max = Math.min(max ?: 10, 100)
Collection<Device> results = Device.list(sort:"name")
respond results, deviceCount: Device.count()
}
def show (Device device) {
if(device == null) {
render status:404
} else {respond device}
}
}
Здесь есть ссылка, связанная Расширение RestfulController для базы SubClassRestfulController не работает на grails 3.0.4
Однако я очистил сборку, перезапустить и т. Д. Ничего не работает,Я получаю ту же ошибку при создании экземпляра
Что это за исправление, разрешающее расширение из RestfulController?