在我的Micronaut控制器中,我有以下代码来解析JSON对象。当我使用@CompileStatic
注释时,它会抛出以下错误。
@Post("/save")
def save(@Body Object JSON) {
String bookid=JSON?.bookid
String name=JSON?.name
def b =bookService.save(bookid,name)
return HttpResponse.created(b)
}
错误
BookController.groovy: 58: [Static type checking] - No such property: bookid for class: java.lang.Object
有没有办法使用编译静态注释来修复此错误消息?
谢谢 SR
答案 0 :(得分:1)
在Jeff Brown的帮助下,我进行了更改。我的保存方法是这样的。
@Post('/')
Book save(Book b) {
bookService.save b
}
答案 1 :(得分:1)
您也可以使用您的方法,而不用更改它进行解析。我遇到了同样的问题,对我有用的方法是使用String而不是object。只需将JSON字符串与@BODY一起使用,然后使用ObjectMapper()对其进行解析。
这是我在其他问题上发布的答案,希望对您有所帮助。