Spring Boot将text / javascript序列化为JSON
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Spring Boot将text / javascript序列化为JSON,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1429字,纯文字阅读大概需要3分钟。
内容图文
我创建了以下Kotlin数据类:
@JsonInclude(JsonInclude.Include.NON_NULL)
public data class ITunesArtist(val artistName: String,
val artistId: Long, val artistLinkUrl: URL)
(数据类是Kotlin类,它在编译时自动生成equals,hashcode,toString等 – 节省时间).
现在我尝试使用Spring RestTemplate填充它:
@Test
fun loadArtist()
{
val restTemplate = RestTemplate()
val artist = restTemplate.getForObject(
"https://itunes.apple.com/search?term=howlin+wolf&entity=allArtist&limit=1", ITunesQueryResults::class.java);
println("Got artist: $artist")
}
它失败了:
Could not extract response: no suitable HttpMessageConverter found for response type
[class vampr.api.service.authorization.facebook.ITunesArtist]
and content type [text/javascript;charset=utf-8]
足够公平–JSON对象映射器可能期望mime类型的text / json.除了告诉RestTemplate映射到String :: class.java,然后手动实例化JacksonObjectMapper的实例,有没有办法告诉我的RestTemplate将返回的mime类型视为JSON?
解决方法:
您也可以使用:https://github.com/FasterXML/jackson-module-kotlin,而不是为数据类中的所有属性提供默认值
这个Jackson模块允许您序列化和反序列化Kotlin的数据类,而不必担心提供一个空的构造函数.
在Spring Boot应用程序中,您可以使用@Configuration类注册模块,如下所示:
@Configuration
class KotlinModuleConfiguration {
@Bean
fun kotlinModule(): KotlinModule {
return KotlinModule()
}
}
除此之外,您还可以使用文档中提到的扩展功能向Jackson注册模块.
除了支持数据类之外,您还将获得Kotlin stdlib中的几个类的支持,例如Pair.
内容总结
以上是互联网集市为您收集整理的Spring Boot将text / javascript序列化为JSON全部内容,希望文章能够帮你解决Spring Boot将text / javascript序列化为JSON所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。