我有一个Java后端,提供openapi.json规范。它的目的是可以通过openapi生成器创建一个API客户端。这就是我所做的。客户端表现得很好,每个类都是完美的,它们都有它们应该拥有的属性,等等。一个例子是这个类:
public final data class Project public constructor(
name: kotlin.String,
title: kotlin.String,
previewUrl: kotlin.String,
connections: kotlin.collections.List<kotlin.String>? /* = compiled code */,
mapWindows: kotlin.collections.List<kotlin.String>? /* = compiled code */,
ribbons: kotlin.collections.List<kotlin.String>? /* = compiled code */
) {
@field:com.fasterxml.jackson.annotation.JsonProperty public final val connections: kotlin.collections.List<kotlin.String>? /* compiled code */
@field:com.fasterxml.jackson.annotation.JsonProperty public final val mapWindows: kotlin.collections.List<kotlin.String>? /* compiled code */
@field:com.fasterxml.jackson.annotation.JsonProperty public final val name: kotlin.String /* compiled code */
@field:com.fasterxml.jackson.annotation.JsonProperty public final val previewUrl: kotlin.String /* compiled code */
@field:com.fasterxml.jackson.annotation.JsonProperty public final val ribbons: kotlin.collections.List<kotlin.String>? /* compiled code */
@field:com.fasterxml.jackson.annotation.JsonProperty public final val title: kotlin.String /* compiled code */
}
如你所见,这门课看起来很好。
然后我有一个包含以下功能的服务:
public final fun getProjects():
kotlin.collections.List<bla.bla.bla.Project> {
/* compiled code */
}
那么,在执行这个类时,我期望得到什么呢?当它返回一个项目列表时,我还希望得到一个项目列表。但我得到的却是LinkedHashMaps的列表。
我一处理这些列表,应用程序就会出现异常。无法将这些LinkedHashMaps强制转换到Project。一旦我得到这份名单,它就意味着“游戏结束”。
事实上,我现在不知道该做什么。在创建api客户机时,我也尝试过使用moshi或gson,但遗憾的是,我们的类嵌套得很深,而这些类不适用。
有没有人经历过类似的事情?
显然这是个简单的解决办法。不知何故,杰克逊不喜欢kotlin.collection.列表,但它喜欢数组。所以我加了这一行config.json:
"collectionType": "array"
就这样。现在它返回具有正确类型的数组。
与JAXB为给定XSD生成JAXB类类似,Jackson是否提供了从XSD或JSON生成Jackson类的实用程序。 JAXB类geberator已经生成了一组为XSD模式定义的类。例如,对于多态类型,JAXB具有以下注释,以基于XML元素名称来标识名称。 是否可以在杰克逊中创建类似的类。即,基于XML元素名称来标识类型。
问题内容: 我正在使用Spring MVC。我必须编写一个服务,该服务将从请求主体中获取输入,将数据添加到pdf中,然后将pdf文件返回到浏览器。pdf文档是使用itextpdf生成的。如何使用Spring MVC做到这一点。我试过用这个 生成pdf的showhelp函数。我只是暂时将一些随机数据放入pdf中。 我确定这是错误的。我希望生成pdf并通过浏览器打开“保存/打开”对话框,以便可以将其存
编辑: 如果我直接从浏览器命中endpoint,文件就会被正确下载。所以我猜问题出在前面,以及用接收到的数据创建和保存文件的方式。 我有一个Java/spring boot的应用程序,我想在其中构建一个APIendpoint,它创建并返回一个可下载的excel文件。以下是我的控制器endpoint: 这是角度控制器: 和服务: 生成成功,文件已下载,但我认为它已损坏,因为Excel无法打开它。 有
生成器返回值 PHP7支持通过Generator::getReturn获取生成器方法return的返回值。 PHP5中我们约定使用Generator最后一次yield值作为返回值。 <?php final class AsyncTask { public function begin() { return $this->next(); } //
我正在从中生成大量Java文件http://www.ncpdp.org的XSD文件(仅对成员可用)。生成它们之后,我希望在Spring控制器中使用它们,但在将响应转换为XML时遇到问题。 我已经尝试返回元素本身,以及JAXBElement 这是我的控制器: 我试图创建一个MvcConfig来覆盖Spring Boot的MVC配置,但它似乎不起作用。 我需要做什么才能让Spring MVC将我生成的
我正在运行一个方法来导入一个外部组件,该组件仅与Options API一起工作。因此,一旦导入完成,我就需要使用Options API配置组件。 如何访问Options API的区域中的返回的值?这就是我的意思: 如果我运行上面的代码,我会得到错误:。 在本例中,仅与VUE中的Options API一起工作。在可预见的将来,它不能在组合API中配置。因此,如何使用组合API中的引用值在Option