У меня есть некоторый код в моем контроллере, который выдает мне неизвестные исключения, может кто-нибудь подсказать мне, что происходит?см. код ниже:
class FooController {
static allowedMethods = [save: "POST", update: "POST", delete: "POST"]
def xmlList = {
render Foo.list() as XML
}
def jsonList = {
render Foo.list() as JSON
}
//...
}
когда я пытаюсь сгенерировать JSON в середине (самая странная его часть ...), я получаю следующую трассировку стека:
[http-8080-2] [tenant 122] ERROR errors.GrailsExceptionResolver - Exception occurred when processing request: [GET] /project/foo/jsonList
Stacktrace follows:
org.codehaus.groovy.grails.web.json.JSONException: Misplaced key.
at grails.converters.JSON.value(JSON.java:198)
at grails.converters.JSON.convertAnother(JSON.java:161)
at grails.converters.JSON.value(JSON.java:198)
at grails.converters.JSON.convertAnother(JSON.java:161)
at grails.converters.JSON.value(JSON.java:198)
at grails.converters.JSON.convertAnother(JSON.java:161)
at grails.converters.JSON.value(JSON.java:198)
at grails.converters.JSON.convertAnother(JSON.java:161)
at grails.converters.JSON.value(JSON.java:198)
at grails.converters.JSON.convertAnother(JSON.java:161)
at grails.converters.JSON.value(JSON.java:198)
at grails.converters.JSON.convertAnother(JSON.java:161)
at grails.converters.JSON.value(JSON.java:198)
at grails.converters.JSON.convertAnother(JSON.java:161)
at grails.converters.JSON.value(JSON.java:198)
at grails.converters.JSON.convertAnother(JSON.java:161)
at grails.converters.JSON.value(JSON.java:198)
at grails.converters.JSON.convertAnother(JSON.java:161)
at grails.converters.JSON.value(JSON.java:198)
at grails.converters.JSON.convertAnother(JSON.java:161)
at grails.converters.JSON.value(JSON.java:198)
at grails.converters.JSON.convertAnother(JSON.java:161)
at grails.converters.JSON.value(JSON.java:198)
at grails.converters.JSON.convertAnother(JSON.java:161)
at grails.converters.JSON.value(JSON.java:198)
at grails.converters.JSON.convertAnother(JSON.java:161)
at grails.converters.JSON.value(JSON.java:198)
at grails.converters.JSON.convertAnother(JSON.java:161)
at grails.converters.JSON.value(JSON.java:198)
at grails.converters.JSON.convertAnother(JSON.java:161)
at grails.converters.JSON.value(JSON.java:198)
at grails.converters.JSON.convertAnother(JSON.java:161)
at grails.converters.JSON.value(JSON.java:198)
at grails.converters.JSON.render(JSON.java:133)
at grails.converters.JSON.render(JSON.java:149)
at com.foo.FooController$_closure2.doCall(FooController.groovy:18)
at com.foo.FooController$_closure2.doCall(FooController.groovy)
at java.lang.Thread.run(Thread.java:662)
при попытке создать xml на экране появляется следующая ошибка:
Эта страница содержит следующие ошибки:
ошибка в строке 1 в столбце 68: Ошибка кодирования Ниже приведенарендеринг страницы до первой ошибки.
и следующей трассировки стека:
[http-8080-2] [tenant 122] ERROR errors.GrailsExceptionResolver - Exception occurred when processing request: [GET] /project/foo/xmlList
Stacktrace follows:
java.lang.NullPointerException
at grails.converters.XML.getElementName(XML.java:130)
at grails.converters.XML.convertAnother(XML.java:173)
at grails.converters.XML.convertAnother(XML.java:173)
at grails.converters.XML.convertAnother(XML.java:173)
at grails.converters.XML.convertAnother(XML.java:173)
at grails.converters.XML.convertAnother(XML.java:173)
at grails.converters.XML.convertAnother(XML.java:173)
at grails.converters.XML.convertAnother(XML.java:173)
at grails.converters.XML.convertAnother(XML.java:173)
at grails.converters.XML.render(XML.java:113)
at grails.converters.XML.render(XML.java:256)
at com.foo.FooController$_closure1.doCall(FooController.groovy:14)
at com.foo.FooController$_closure1.doCall(FooController.groovy)
at java.lang.Thread.run(Thread.java:662)
вот мой Foo.groovy:
@MultiTenant
class Foo {
String name
String description
List modules = new ArrayList();
static belongsTo = [something : Something]
static hasMany = [anything : Anything]
static mapping = {
table 'foo'
version false // version is set to false, because this isn't available by default for legacy databases
id generator:'identity', column:'id'
sort "name"
description sqlType: "text"
tenantId column:'tenant_id'
}
static constraints = {
something(blank:false)
name(size:1..100, blank:false, unique:['tenantId','project'])
description()
}
@Override
String toString() {
return name
}
}
версия Grails ->1.3.7 Я новичок в Grails, прости меня, если я спрашиваю что-то новенькое, но у меня здесь настоящие проблемы ...