Я родом из Граилса и недавно начал проект в Micronaut с использованием GORM.
У меня есть следующий код:
package micronaut.query.association.domain
import org.grails.datastore.gorm.GormEntity
@grails.gorm.annotation.Entity
class Author implements GormEntity<Author> {
String name
static hasMany = [
books: Book
]
static mapping = {
books fetch: 'join'
}
}
package micronaut.query.association.domain
import org.grails.datastore.gorm.GormEntity
@grails.gorm.annotation.Entity
class Book implements GormEntity<Book> {
String name
Author author
}
package micronaut.query.association
import io.micronaut.http.annotation.Controller
import io.micronaut.http.annotation.Get
import io.micronaut.http.HttpStatus
import micronaut.query.association.domain.Author
import grails.gorm.transactions.ReadOnly
@groovy.transform.CompileStatic
@Controller("/author")
class AuthorController {
@Get("/")
@ReadOnly
List<Author> index() {
return Author.list()
}
}
Приложение компилируется и запускается без проблем, но когдаЯ пытаюсь получить доступ к URL http: localhost: 8080 / author, я получаю следующую ошибку:
10: 25: 29.431 [nioEventLoopGroup-1-2] ОШИБКА imhsnetty.RoutingInBoundHandler - Произошла непредвиденная ошибка:Ошибка кодирования объекта [[micronaut.query.association.domain.Author: 1, micronaut.query.association.domain.Author: 2]] в JSON: бесконечная рекурсия (StackOverflowError) (через цепочку ссылок: micronaut.query.association.domain.Book ["author"] -
| Версия Micronaut: 1.0.1 | Версия JVM: 1.8.0_192 ОС: Linux 4.19.4-arch1-1-ARCH
AmЯ делаю что-то не так? Спасибо и, пожалуйста, прости меня, если мое сообщение было отправлено неправильно. Это моя первая попытка переполнения стека.