我正在尝试使用Swagger Play2模块为一个Play应用程序生成api文档。我们使用大量的值类来增加类型安全和代码可读性。
其中一个操作为案例类生成JSON,如下所示:
case class MyResponse(prop1: MyValueType, prop2: MyValueType)
其中MyValueType
是这样一个值类:
case class MyValueType(value: String)
它被格式化为JSON,就像使用自定义<code>格式[T]的字符串一样。
Swagger UI生成如下示例JSON代码:
{
"prop1": {
"value": "string"
},
"prop2": {
"value": "string"
}
}
虽然我希望它生成这个:
{
"prop1": "string",
"prop2": "string"
}
我尝试过这样的自定义注释,但似乎不起作用:
case class MyResponse(
@ApiModelProperty(dataType="string") prop1: MyValueType,
@ApiModelProperty(dataType="string") prop2: MyValueType,
)
关于如何实现这一点有什么建议吗?
我尝试了@ApiModelProperty(dataType=“String”)
和@ApiModelProperty(dataType=“String”)
。它们都不起作用。
然而,< code > @ ApiModelProperty(dataType = " Java . lang . string ")在我的例子中是有效的。
我的springfox版本:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.1</version>
</dependency>
Swagger正在将您的案例类MyValueType
包装在您的案例类MyResponse
中。
它将忽略您的< code>dataType注释,并仍在解析< code>MyValueType
你尝试过对你的属性做更完整的注释吗?类似于:
case class MyResponse(@ApiModelProperty(
value = "Property 1",
dataType="string") prop1: MyValueType,
@ApiModelProperty(
value = "Property 2",
dataType="string") prop2: MyValueType)
顺便说一句,Swagger中的数据类型不区分大小写,因此string
等价于String
。
尝试用大写的dataType="String "
问题内容: 在我的应用程序上下文中,我定义了属性文件: 我想获取JSP页面上该文件中定义的属性的值。有没有办法做到这一点 问题答案: 只能解析Spring配置中的占位符(XML或注释)。在Spring应用程序中使用bean 是非常普遍的。您可以通过这种方式从视图中访问它(假设您正在使用): 然后,在您的JSP中,您可以使用或。
我正在迁移log4j1.2。8至log4j 2.3。一切正常,除此之外,我没有为PropertyConfiguration找到任何替代品。 是否有其他类来处理PropertyConfiguration之前所做的工作?
我正在使用读取属性文件。我如何以编程方式访问它们(不起作用--在开发时我不知道属性标题)? 主要问题是我无法更改文件,因为它是由“父”框架设置的 ps.很奇怪,但返回
问题内容: 我有2个需要绑定在一起的文件:hibernate.cfg.xml和hibernate属性。如何使用PropertyPlaceholderConfigurer将它们彼此指向?是否可以不将它们声明为bean?(我是Spring的初学者)。每个答案表示赞赏。 提前致谢。 纳扎尔 hibernate.cfg.xml: hibernate.properties: 问题答案: 是的,您可以访问两个
在Spring专家上有应用 我想有不同的应用程序。不同配置文件的属性,通过命令行传递。 我的数据库配置为: 如果我想为不同的服务器(qa和at)使用不同的配置文件,我需要创建两个这样的类,标记为@Profile(“qa”)和@Profile(“at”) 确实存在创建两个应用程序的方法。属性,将参数传递到命令行,并在@(PropertySource)路径中插入qa或at应用程序。属性? 在启动应用程
我会用这样的方法来利用这些价值: 但是,我最终出现了一个错误,如下所示: 我如何在我的测试中也利用YAML的优点?