- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Springfox-swagger 为我的 Spring Boot REST 服务生成一个 Swagger 页面。作为我序列化为 JSON 的 POJO 之一的一部分,我使用:
javax.money.MonetaryAmount
java.time.LocalDate
我看到的问题是,在 Swagger 中,响应的 Model 和 Model Shema 选项卡显示了这些字段的实现细节,即
LocalDate {
chronology (IsoChronology, optional),
dayOfMonth (integer, optional),
dayOfWeek (string, optional) = ['MONDAY' or 'TUESDAY' or 'WEDNESDAY' or 'THURSDAY' or 'FRIDAY' or 'SATURDAY' or 'SUNDAY'],
dayOfYear (integer, optional),
era (Era, optional),
leapYear (boolean, optional),
month (string, optional) = ['JANUARY' or 'FEBRUARY' or 'MARCH' or 'APRIL' or 'MAY' or 'JUNE' or 'JULY' or 'AUGUST' or 'SEPTEMBER' or 'OCTOBER' or 'NOVEMBER' or 'DECEMBER'],
monthValue (integer, optional),
year (integer, optional)
}
IsoChronology {
calendarType (string, optional),
id (string, optional)
}
Era {
value (integer, optional)
}
和
MonetaryAmount {
context (MonetaryContext, optional),
currency (CurrencyUnit, optional),
factory (MonetaryAmountFactory«MonetaryAmount», optional),
negative (boolean, optional),
negativeOrZero (boolean, optional),
number (NumberValue, optional),
positive (boolean, optional),
positiveOrZero (boolean, optional),
zero (boolean, optional)
}
MonetaryContext {
(...)
}
CurrencyUnit {
(...)
}
CurrencyContext {
(...)
}
MonetaryAmountFactory«MonetaryAmount» {
(...)
}
NumberValue {
(...)
}
如果重要的话,我正在使用 javax.money.MonetaryAmount
(JSR 354) 的 Moneta 1.1 实现。
现在,这对我想要的来说太冗长了,所以我实现了一个序列化程序,并且我的响应(和请求)按预期工作。但是,模式 并未反射(reflect)这一点。有没有办法在序列化请求后配置模式的格式?
我意识到这个问题有很多变化的部分,我创建了一个 proof of concept project以充分展示问题。
最佳答案
基于 your example看起来您正在将序列化程序中的 MonetaryAmount
转换为 double
并将 LocalDate
转换为 String
。
因为 springfox 无法内省(introspection) jackson 机器(至少现在还不能 :-)),我们需要告诉 SpringFox 您在序列化程序中正在做什么。为此,如 the documentation 中所述在您的摘要中,您可以通过提供替代类型规则来提供提示。
docket
.directModelSubstitute(LocalDate.class, String.class)
.directModelSubstitute(MonetaryAmount.class, Double.class)
有三种方法可以做到这一点,通过 directModelSubstitutes
用于常规类型,通过 genericModelSubstitutes
用于单个类型参数泛型类型和 alternateTypeRules
用于更多类型复杂的通用类型用例。
关于java - Springfox Swagger 生成创建奇怪的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41675459/
我正在使用 springfox 的招摇实现。我想修改 swagger-ui.html 以采用自定义 header 值。如何修改此文件?或者告诉spring fox使用备用文件? 最佳答案 从 gith
我有 spring-mvc 应用程序,我已经嵌入了 RestAPI。一切正常,我的 rest api 映射到 /rest/* url。当我添加 SwaggerConfig 它已经开始识别我的 Cont
我必须从 swagger 上传 MultipartFile 类型的多个文件来测试我的 api。 postman 确实允许上传,但是,同样的事情在 swagger 中不起作用。 多部分文件列表的代码:
我正在使用 SpringFox (Swagger)记录我的 REST API。 Swagger 的一大优点是显示示例模型和数据类型格式。 现在,我将我的 API 配置为以毫秒为单位生成和使用日期,但是
在 Springfox 3.0 中,springfox.documentation.service.Parameter已弃用。 是否有提供参数及其构建器的更新方法? 以及如何提供其default值(v
有没有办法在 springfox swagger (2.7.0) 中公开继承/多态性?我知道 swagger 规范支持 allOf。 springfox支持这个吗?以下是示例域模型。 @ApiMode
在我的 spring boot rest API 中,我为每个端点的每个响应(与方法无关)发回一个唯一的请求 id header “x-request-id”。我可以使用这样的东西添加它: @ApiR
在我的 Spring Boot Rest api 中,我有以下类: @Entity @Table(name="Items") @JsonPropertyOrder({ "itemId", "descr
目前使用 springfox 2.9.2 Swagger 记录在 Spring 中创建的 API。 我想在文档中添加示例响应,就像这张图片一样; 我的理解是我可以做类似的事情: @ApiRespons
我正在使用 Springfox-swagger 为我的 Spring Boot REST 服务生成一个 Swagger 页面。作为我序列化为 JSON 的 POJO 之一的一部分,我使用: javax
我有一个简单的 Spring Boot 应用程序,它有一个 REST 端点来返回一个“Job”对象,该对象包含一系列多态性,旁边还有其他内容。我们采用“代码优先”方法并尝试创建 API 模型来满足我们
这是我第一次来这里。因此,我们在 Spring MVC 中构建了一个应用程序,使用 2 个 Java 类作为 Controller 来处理 REST 调用。其中一个用 @Controller 显式注释
我想添加一个自定义 Controller 来 swagger API 描述符。 使用 spring fox 可以很容易地自定义现有模型。 但是我没有成功地从头开始将自定义 API 添加到 swagge
我正在尝试使用 swagger-codegen 和 springfox 在 Web 服务开发过程中赢得时间。 我遇到了为带注释的接口(interface)类以及 Controller 实现创建端点的问
我将 SpringFox 库用于我的 spring boot 应用程序的其余文档。当我点击 model 时,所有元素都作为可选元素返回。有没有办法将必需的元素显示为强制性的?是否需要添加任何其他配置?
@RequestMapping(...) public Foo getFoo(@HeaderParam("header") final String header) { ... } 像上面那样
GitHub:https://github.com/springfox/springfox 文档:http://springfox.io 在说swagger-bootstrap-ui的代码之前,先
我有一个特定的 DTO,我正在使用它作为 Swagger 文档的示例返回。如果我有成功的 201 代码,我该如何更改示例? 招摇的示例响应: 我使用注释“@ApiModelProperty”来描述我的
我在互联网上搜索了如何自定义我的多个案卷的端点,但没有找到答案。 我的模块有几个 API。我想在不同的端点上生成 Swagger 文档,每个端点都位于其相应 API 的根目录上。例如 : 本地主机:8
想知道如何在 POST 中隐藏 Swagger 中的模型属性。我已经尝试过 Swagger-springmvc (0.9.3) 和 Springfox(支持 swagger spec 2.0)都无济于
我是一名优秀的程序员,十分优秀!