Intereting Posts
Фильтр rxjava не работает Расширение Kotlin не распознается в адаптере Можем ли мы достичь безопасности типа компиляции для объединения типов, которые мы не можем контролировать? Как вызвать сокращение на пустой массив Kotlin? Как добавить панель инструментов в Android PreferenceActivity, когда NoActionBar установлен в качестве темы приложения? Как документировать параметр первичного конструктора с помощью Kotlin Dokka Котлин разметит шестнадцатеричную строку длинной Kotlin: как создать 2D-массив типа String Как вызвать функцию baseactivity из viewmodel в android Dagger 2 – Inject со значением по умолчанию в конструкторе Классы вложенных объектов Kotlin Почему AtomicInteger является абстрактным в Котлине? (он отлично работает на Java) Как поймать множество исключений в то же время в Котлине Сигнал / событие AboutToQuit в Android В Kotlin почему аргумент по умолчанию не передается после того, как функция назначается переменной?

JsonView весной + Котлин

Сервер возвращает пустой json с помощью JsonView:

[ { }, { } ] 

Я использую только компонент Jackson2ObjectMapperBuilder для настройки jackson :

 @Bean open fun objectMapperBuilder() = Jackson2ObjectMapperBuilder() .modulesToInstall(KotlinModule()) .propertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES) .featuresToEnable(SerializationFeature.WRITE_EMPTY_JSON_ARRAYS) 

контроллер:

 @RestController @RequestMapping("/api/drivers") class DriversController @Autowired constructor(val driverService: DriverService) { @JsonView(Views.Public::class) @RequestMapping("/nearest") fun nearest(): List<Driver> { val drivers = driverService.findNearest(49.437551, 32.025263) return drivers } 

Элемент таблицы драйвера:

 @Entity @Table(name = "ct_drivers") data class Driver( @Id @Column(name = "id") @GeneratedValue(strategy = GenerationType.IDENTITY) var id: Int = 0, @JsonView(Views.Public::class) @Column(name = "first_name") var firstName: String = "", @JsonView(Views.Public::class) @Column(name = "last_name") var lastName: String = "", @Column(name = "phone") var phone: String = "" ) 

Объект просмотра:

 object Views { interface Public {} } 

Список зависимостей:

 compile 'org.springframework.boot:spring-boot-starter-web' compile 'org.springframework.boot:spring-boot-devtools' compile 'org.springframework.boot:spring-boot-starter-data-jpa' compile 'org.springframework.boot:spring-boot-starter-thymeleaf' compile 'org.springframework.security.oauth:spring-security-oauth2' compile 'org.springframework:spring-messaging' compile 'org.springframework:springloaded:1.2.5.RELEASE' compile 'org.springframework:spring-tx' compile 'org.springframework:spring-orm:4.2.5.RELEASE' compile 'org.hibernate:hibernate-core:5.1.0.Final' compile 'org.hibernate:hibernate-entitymanager:5.1.0.Final' compile 'org.hibernate:hibernate-spatial:5.1.0.Final' compile 'com.corundumstudio.socketio:netty-socketio:1.7.8' compile 'org.postgresql:postgresql:9.3-1101-jdbc41' compile 'com.github.salomonbrys.kotson:kotson:2.1.0' compile 'com.fasterxml.jackson.module:jackson-module-kotlin:2.7.3' compile 'org.apache.httpcomponents:httpcore:4.3.3' compile 'org.apache.httpcomponents:httpclient:4.3.3' compile "org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}" 

Как правильно настроить JsonView в моем случае? Может быть, я что-то забыл?

    Я столкнулся с той же проблемой, пока не добавил следующую зависимость:

     compile 'com.fasterxml.jackson.module:jackson-module-kotlin'