【发布时间】:2015-02-09 06:25:06
【问题描述】:
我正在尝试将 swagger 与我的项目集成。
我已经在 pom 中给出了依赖项,将 dist 文件夹从 swagger 复制到我的工作区中。
<repositories>
<repository>
<id>oss-jfrog-artifactory</id>
<name>oss-jfrog-artifactory-releases</name>
<url>http://oss.jfrog.org/artifactory/oss-release-local</url>
</repository>
</repositories>
<dependency>
<groupId>com.mangofactory</groupId>
<artifactId>swagger-springmvc</artifactId>
<version>0.8.8</version>
</dependency>
<dependency>
<groupId>org.ajar</groupId>
<artifactId>swagger-spring-mvc-ui</artifactId>
<version>0.1</version>
<scope>compile</scope>
</dependency>
我还没有创建 swagger 配置类,而是在应用程序上下文中添加了这些。
<mvc:default-servlet-handler/>
<context:annotation-config />
<mvc:annotation-driven/>
<bean name="springSwaggerConfig" class="com.mangofactory.swagger.configuration.SpringSwaggerConfig" />
<bean id="swaggerSpringMvcPlugin" class="com.mangofactory.swagger.plugin.SwaggerSpringMvcPlugin">
<constructor-arg ref="springSwaggerConfig"></constructor-arg>
</bean>
我的 API 接受一个路径变量并给我响应。这是示例 API
@ApiOperation(value="This is the test API")
@RequestMapping(value = "sayHello/{userName}", method = RequestMethod.GET)
public @ResponseBody String testAPI(@ApiParam(defaultValue="xyz", required=true) @PathVariable String userName){
return "Hello" + userName;
}
即使我给出了默认值,它也没有取值,而是取值作为(空)。
在 swagger 上尝试检查请求和响应时,没有针对值的文本框,也没有“试用”按钮。
您能告诉我需要做什么来解决这个问题吗?!
【问题讨论】:
-
第一步是使用最新版本的库,目前是 0.9.5。如果这不起作用,那么它可能是一个错误。你不会在这里得到任何解决方法,你只需要在项目的存储库上打开一个问题。
-
只是一个旁注。当您添加
defaultValue时,您将该参数设置为非required,因此您的required标志在那里没有做太多...
标签: java spring-mvc swagger swagger-ui