0
Sunucu JsonView ile boş json döndürür:JsonView Baharda + Kotlin
[ { }, { } ]
Ben jackson
yapılandırmak için sadece Jackson2ObjectMapperBuilder
fasulye kullanın:
@Bean
open fun objectMapperBuilder() = Jackson2ObjectMapperBuilder()
.modulesToInstall(KotlinModule())
.propertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES)
.featuresToEnable(SerializationFeature.WRITE_EMPTY_JSON_ARRAYS)
Denetleyici:
@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
}
sürücü tablo varlık:
@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 = ""
)
Görüntüleme nesne:
object Views {
interface Public {}
}
Bağımlılıklar listesi:
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}"
Nasıl benim durumumda doğru JsonView
yapılandırmak için? Bir şeyi unutmuş olabilir miyim?
emin değil bu yardımcı olabilir, ancak ben JsonView yerine arayüzleri, sınıflarını kullanır sıklıkla görüyoruz. Lütfen 'class SampleView' oluşturmaya çalışın ve kullanın. Belki yardımcı olur. – IRus
Denedim. Aynı sorun java ile yazılmış sınıfla 'veri class' değiştirmeyi deneyin –
i veri sınıfı özelliklerine ek açıklamalarla sorun olduğunu düşünüyorum. – IRus