当前位置: 首页 > 知识库问答 >
问题:

Spring data mongodb和kotlin

蒋星驰
2023-03-14

我知道有一个jackson kotlin模块,它包含在我的maven文件中。它用于反序列化我通过http获得的对象,所以我知道spring会接收它。然而,spring data mongodb似乎不使用jackson ObjectMapper?

有没有一种方法可以在spring data mongodb中使用jackson objectmapper,或者修复没有非args构造函数的问题?

共有1个答案

赵献
2023-03-14

现在有一个No-Arg插件。您可以在Gradle或Maven构建脚本中添加这个插件,并运行您的代码,而无需为您的变量设置样板或“默认”值。

很简单的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)
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'
 类似资料:
  • 本文向大家介绍SpringDataMongoDB多文档事务的实现,包括了SpringDataMongoDB多文档事务的实现的使用技巧和注意事项,需要的朋友参考一下 一、安装MongoDB4.0.3(××) 1.1、官方安装文档 https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/ 1.2、tar.gz包下载地址 h

  • 我使用SpringDataMongo作为ORM来访问我的MongoDb。我需要阅读一个MongoDb集合,其中包含我不管理内容及其有效性的文档。我面临一个问题:文档并非都是有效的,当我使用“findAll”方法时,我只捕获了一个异常。我希望找到所有有效的文档并拒绝无效的文档,而不是这种行为。 例如,我有一个带有原始布尔值的bean,在文档中,该字段被设置为String类型。因此,当我使用findA

  • 主要内容:类定义,类的属性,主构造器,次构造函数,抽象类,嵌套类,内部类,匿名内部类,类的修饰符类定义 Kotlin 类可以包含:构造函数和初始化代码块、函数、属性、内部类、对象声明。 Kotlin 中使用关键字 class 声明类,后面紧跟类名: 我们也可以定义一个空类: 可以在类中定义成员函数: 类的属性 属性定义 类的属性可以用关键字 var 声明为可变的,否则使用只读关键字 val 声明为不可变。 我们可以像使用普通函数那样使用构造函数创建类实例: 要使用一个属性,只要用名称引用它即

  • 我正在从Gradle迁移到Gradle Kotlin DSL,我有一个问题。有 在格雷德尔。

  • 类定义 Kotlin 类可以包含:构造函数和初始化代码块、函数、属性、内部类、对象声明。 Kotlin 中使用关键字 class 声明类,后面紧跟类名: class Runoob { // 类名为 Runoob // 大括号内是类体构成 } 我们也可以定义一个空类: class Empty 可以在类中定义成员函数: class Runoob() { fun foo()

  • 问题内容: 关于它们有很多传说。我想知道真相。以下两个示例之间有什么区别? 问题答案: 不确定从何处获得传说,但: 提交按钮 与: IE6将在标记之间提交此按钮的所有文本,其他浏览器将仅提交值。使用可使您在按钮的设计上享有更大的布局自由度。从各种意图和目的看,它乍一看似乎很棒,但是各种浏览器怪癖使它有时很难使用。 在您的示例中,IE6将发送到服务器,而其他大多数浏览器将不发送任何内容。要使其跨浏览