-1

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

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

谢谢

4

2 回答 2

1

在 Jeff Brown 的帮助下,我改变了。我的保存方法是这样的。

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

Micronaut JSON 帖子删除了 Qutoes

于 2019-01-03T02:15:45.567 回答
1

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

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

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

于 2019-02-27T12:28:27.357 回答