Весенние данные mongodb и kotlin

У меня возникает проблема при использовании весенних данных mongodb togheter с kotlin. Когда я пытаюсь читать объекты из mongodb, я получаю сообщение об ошибке, жалуясь на то, что мои классы данных не имеют конструктора no-args по умолчанию. Я могу решить это, предоставив каждому полю значение в моем классе данных, поэтому компилятор будет генерировать конструктор no-args по умолчанию. Конечно, я не хочу этого делать.

Я знаю, что есть модуль Jackson kotlin, и он включен в мой файл maven. Он работает для десериализации объектов, которые я получаю через http, поэтому я знаю, что весна подбирает его. Кажется, однако, что весенние данные mongodb не используют объект jackson objectmapper?

Есть ли способ, которым я могу использовать объект-объект jackson в весенних данных mongodb или исправить проблему отсутствия конструктора non args?

Теперь есть плагин No-Arg . Вы можете добавить этот плагин в свой скрипт Gradle или Maven Build Script и запустить свой код без коаксиального шаблона или значения «по умолчанию» для ваших варов.

Очень простой пример с Gradle:

добавить плагин для build.grade

buildscript { ext { kotlinVersion = '1.1.2' } repositories { mavenCentral() } dependencies { classpath("org.jetbrains.kotlin:kotlin-noarg:${kotlinVersion}") } } apply plugin: "kotlin-noarg" // apply "kotlin-jpa" for JPA related annotation noArg { // define annotation, where you need an empty custructor annotation("org.springframework.data.mongodb.core.mapping.Document") } 

Создайте свой документ

 @Document(collection = "simpleDoc") class SimpleDocument(@Id val id: String, @Field val name: String) 

Используйте Spring-Data-REST для создания вставки

 curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/hal+json' -d '{"name":"awesome"}' 'http://localhost:8080/docs' 

Прочтите свой документ

 curl -X GET --header 'Accept: application/hal+json' 'http://localhost:8080/docs/59284d508bc7ee0b4c8fe293' 
Intereting Posts
Эффективный способ добавления строк, разделенных запятой Kotlin: Как получить доступ к Attrs для CustomView Вызов метода класса по умолчанию arg в конструкторе Как создать асинхронный вызов с помощью дооснащения и наблюдения в Котлине? Доступ к Spek для внутренних видимых классов Kotlin Модуль библиотеки Android Kotlin экспортируется с плагином gradene maven-publish, не добавляющим зависимости Как обеспечить общий тип с помощью взаимодействия Kotlin Как добиться чистой функции с динамическим программированием в Котлине? Объяснение относительно того, почему это сравнение строк приводит к ошибке? Расширение Kotlin Android не может разрешить «текст», Невозможно сделать API-адрес urlfetch.Fetch в потоке, который не является ни потоком исходного запроса, ни потоком, созданным ThreadManager Котлин: Пропустите и используйте функцию параметров 2? «Недопустимое имя поля BSON» во время upsert BLE не может подключиться к уже подключенному устройству UnsupportedOperationException при построении проекта Kotlin в Idea