springMVC4集成swagger2
来源:互联网 发布:php 判断今天星期几 编辑:程序博客网 时间:2024/05/29 19:20
本帖子使用的组件版本:
Spring 4.2.1.RELEASE
Swagger 2.4.0
1.Swagger介绍:
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。
===============================================================================================================================================
2.Swagger如何集成到SpringMVC中:
1)添加maven依赖
<!-- swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.4.0</version>
</dependency>
--springfox-swagger2为Swagger的核心依赖;springfox-swagger-ui为Swagger的UI包,支持通过浏览器(chrome)查看API信息。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2)增加Swagger配置类
@Configuration
@EnableSwagger2
public class RestApiConfig extends WebMvcConfigurationSupport {
@Bean
public Docket createRestApi1() {
return new Docket(DocumentationType.SWAGGER_2).groupName("tem1").apiInfo(buildApiInf()).select()
.apis(RequestHandlerSelectors.basePackage("com.thunisoft.springmvc.business.api.tem1"))//controller路径
.paths(PathSelectors.any()).build();
}
@Bean
public Docket createRestApi2() {
return new Docket(DocumentationType.SWAGGER_2).groupName("tem2").apiInfo(buildApiInf()).select()
.apis(RequestHandlerSelectors.basePackage("com.thunisoft.springmvc.business.api.tem2"))//controller路径
.paths(PathSelectors.any()).build();
}
private ApiInfo buildApiInf() {
return new ApiInfoBuilder().title("API").termsOfServiceUrl("www.xxxx.com")
.description("springmvc swagger2").build();
}
}
--这段代码中需要注意的一个地方是groupName,这个相当于分组命名,basePackage为需要扫描的包,每个groupName对应一个basePackage。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3)配置web.xml文件
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/spring/mvc/mvcContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
--注意配置DispatcherServlet的url-pattern为 /
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4)配置SpringMVC-Context.xml文件:
添加一行配置:<mvc:default-servlet-handler />
--在springMVC-servlet.xml中配置<mvc:default-servlet-handler />后,会在Spring MVC上下文中定义一个org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler,它会像一个检查员,对进入DispatcherServlet的URL进行筛查,如果发现是静态资源的请求,就将该请求转由Web应用服务器默认的Servlet处理,如果不是静态资源的请求,才由DispatcherServlet继续处理。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5)编写API的Controller类:
在2)步中指定的com.thunisoft.springmvc.business.api.tem1和com.thunisoft.springmvc.business.api.tem2包下面添加所需要的controller类,举例:
@Controller
@RequestMapping(value = "/api1")
public class ApiController1 {
@ApiOperation(value = "获取用户信息", notes = "根据url的id来获取用户详细信息")
@ApiImplicitParam(name = "userId", value = "用户ID", required = true, dataType = "User")
@RequestMapping(value = "/getUser.html", method = RequestMethod.GET)
@ResponseBody
public User getUser(@RequestParam(value = "userId") Integer userId) {
User u = new User();
u.setcId("1111");
u.setcName("test");
return u;
}
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6)访问http://{IP}:{端口}/{应用名称}/swagger-ui.html查看API文档:
Spring 4.2.1.RELEASE
Swagger 2.4.0
1.Swagger介绍:
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。
===============================================================================================================================================
2.Swagger如何集成到SpringMVC中:
1)添加maven依赖
<!-- swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.4.0</version>
</dependency>
--springfox-swagger2为Swagger的核心依赖;springfox-swagger-ui为Swagger的UI包,支持通过浏览器(chrome)查看API信息。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2)增加Swagger配置类
@Configuration
@EnableSwagger2
public class RestApiConfig extends WebMvcConfigurationSupport {
@Bean
public Docket createRestApi1() {
return new Docket(DocumentationType.SWAGGER_2).groupName("tem1").apiInfo(buildApiInf()).select()
.apis(RequestHandlerSelectors.basePackage("com.thunisoft.springmvc.business.api.tem1"))//controller路径
.paths(PathSelectors.any()).build();
}
@Bean
public Docket createRestApi2() {
return new Docket(DocumentationType.SWAGGER_2).groupName("tem2").apiInfo(buildApiInf()).select()
.apis(RequestHandlerSelectors.basePackage("com.thunisoft.springmvc.business.api.tem2"))//controller路径
.paths(PathSelectors.any()).build();
}
private ApiInfo buildApiInf() {
return new ApiInfoBuilder().title("API").termsOfServiceUrl("www.xxxx.com")
.description("springmvc swagger2").build();
}
}
--这段代码中需要注意的一个地方是groupName,这个相当于分组命名,basePackage为需要扫描的包,每个groupName对应一个basePackage。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3)配置web.xml文件
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/spring/mvc/mvcContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
--注意配置DispatcherServlet的url-pattern为 /
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4)配置SpringMVC-Context.xml文件:
添加一行配置:<mvc:default-servlet-handler />
--在springMVC-servlet.xml中配置<mvc:default-servlet-handler />后,会在Spring MVC上下文中定义一个org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler,它会像一个检查员,对进入DispatcherServlet的URL进行筛查,如果发现是静态资源的请求,就将该请求转由Web应用服务器默认的Servlet处理,如果不是静态资源的请求,才由DispatcherServlet继续处理。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5)编写API的Controller类:
在2)步中指定的com.thunisoft.springmvc.business.api.tem1和com.thunisoft.springmvc.business.api.tem2包下面添加所需要的controller类,举例:
@Controller
@RequestMapping(value = "/api1")
public class ApiController1 {
@ApiOperation(value = "获取用户信息", notes = "根据url的id来获取用户详细信息")
@ApiImplicitParam(name = "userId", value = "用户ID", required = true, dataType = "User")
@RequestMapping(value = "/getUser.html", method = RequestMethod.GET)
@ResponseBody
public User getUser(@RequestParam(value = "userId") Integer userId) {
User u = new User();
u.setcId("1111");
u.setcName("test");
return u;
}
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6)访问http://{IP}:{端口}/{应用名称}/swagger-ui.html查看API文档:
阅读全文
0 0
- SpringMvc4集成swagger2
- springMVC4集成swagger2
- springMVC4.3.7整合 swagger2 2.6.1
- Spring Boot 集成Swagger2
- Springboot集成swagger2
- Spring Boot集成Swagger2
- springboot项目集成Swagger2
- SpringBoot集成Swagger2
- SpringMvc 集成swagger2
- springboot集成swagger2
- jeesite集成swagger2
- springboot集成swagger2
- SpringMVC集成swagger2
- spring boot集成swagger2
- Springboot集成Swagger2
- SpringBoot集成Swagger2
- spring-boot集成Springfox[Swagger2]
- SpringMvc 3分钟集成swagger2
- Linux shell脚本中shift的用法说明
- 利用rem实现响应式布局
- html5用css3实现线性渐变background-image:linear-gradient使用方法
- 前后端分离。前端POST请求参数过长,导致400错误解决办法及分析
- ThinkPHP中$map用法
- springMVC4集成swagger2
- java毕业设计代做,Android毕业设计代做,jsp毕业设计代做,等等,原创,满意后付款 (易软)
- python open函数
- (M)DFS:332. Reconstruct Itinerary
- Ubuntu 16.04下安装sogou 输入法安装
- Gradle多渠道打包
- ubuntu 安装go1.9.1
- oozie初学习
- fastdfs 图片服务器 使用java端作为客户端上传图片 / 【FastDFS专题】fastdfs使用实战(概念篇)