Micronaut CompileStatic JSON 对象 - 静态类型检查 - 没有这样的属性:类的 bookid



在我的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

有没有办法用编译静态注释修复此错误消息?

谢谢锶

在杰夫·布朗的帮助下,我改变了。 我的保存方法像这样。

  @Post('/')
    Book save(Book b) {
        bookService.save b
    }

Micronaut JSON post剥离Qutoes

您还可以使用您的方法,而不是更改它以进行解析。我遇到了同样的问题,对我有用的方法是使用字符串而不是对象。只需将 JSON 字符串与 @BODY一起使用,然后使用 ObjectMapper() 对其进行解析。

这是我在其他一些问题中发布的答案,希望对您有所帮助。

https://stackoverflow.com/a/54905403/7803105

相关内容

最新更新