JSON-объект Micronaut CompileStatic - Проверка статического типа - Нет такого свойства: bookid для класса: java.lang.Object - PullRequest
0 голосов
/ 02 января 2019

В моем контроллере 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)
   }

Error

BookController.groovy: 58: [Static type checking] - No such property: bookid for class: java.lang.Object

Есть ли способ исправить это сообщение об ошибке с компилястической аннотацией?

Спасибо SR

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Вы также можете работать с вашим методом вместо того, чтобы изменять его для анализа. Я столкнулся с той же проблемой, и метод, который работал для меня, использует String вместо object. Просто используйте JSON String вместе с @BODY, а затем проанализируйте его с помощью ObjectMapper ().

вот ответ, который я отправил на другой вопрос, надеюсь, он вам поможет.

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

0 голосов
/ 03 января 2019

С помощью Джеффа Брауна я изменился. мой метод сохранения, как это.

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

Почтовый штемпель Micronaut JSON the Qutoes

...