Swagger 整合 springmvc
2016年10月14日大约 4 分钟
拓展阅读
Devops-02-Jpom 简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件
项目管理平台-01-jira 入门介绍 缺陷跟踪管理系统,为针对缺陷管理、任务追踪和项目管理的商业性应用软件
项目管理平台-01-Phabricator 入门介绍 一套集成的强大工具,帮助公司构建更高质量的软件
Swagger 整合 springboot 2.6.8 + swagger3 springboot 2.x + swagger2
Swagger 文档工具 设计、构建、文档化和使用您的 RESTful API
使用 SpringMvc
您可以从 swagger-springmvc 获取完整的项目演示。
整体结构
文件结构可能如下所示:
.
|____main
| |____java
| | |____com
| | | |____ryo
| | | | |____swagger
| | | | | |____demo
| | | | | | |____controller
| | | | | | | |____UserController.java
| | | | | | |____model
| | | | | | | |____User.java
| | | | | | |____MySwaggerConfig.java
| | | | | | |____vo
| | | | | | | |____Result.java
| |____resources
| | |____app-beans.xml
| | |____app-mvc.xml
| | |____app.xml
| | |____log4j2.xml
| |____webapp
| | |____WEB-INF
| | | |____web.xml
|____test
| |____java
pom.xml 依赖
4.0.0
com.ryo
swagger-demo
1.0-SNAPSHOT
war
UTF-8
1.8
2.2
2.18.1
3.3
4.2.6.RELEASE
3.1.0
2.4.4
2.5.0
2.6
org.springframework
spring-core
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-beans
${spring.version}
org.springframework
spring-context
${spring.version}
org.springframework
spring-context-support
${spring.version}
javax.servlet
javax.servlet-api
${servlet.version}
provided
io.springfox
springfox-swagger2
${swagger2.version}
io.springfox
springfox-swagger-ui
${swagger2.version}
com.fasterxml.jackson.core
jackson-annotations
${jackson.version}
com.fasterxml.jackson.core
jackson-databind
${jackson.version}
com.fasterxml.jackson.core
jackson-core
${jackson.version}
org.apache.logging.log4j
log4j-api
${log4j2.version}
org.apache.logging.log4j
log4j-core
${log4j2.version}
${project.name}
org.apache.tomcat.maven
tomcat7-maven-plugin
${plugin.tomcat.version}
18080
/
${project.build.sourceEncoding}
org.apache.maven.plugins
maven-surefire-plugin
${plugin-maven-surefire.version}
true
true
org.apache.maven.plugins
maven-compiler-plugin
${plugin-maven-compiler.version}
${jdk.version}
${jdk.version}
java 代码
Result.java
public class Result implements Serializable {
// 0成功
private int code;
// 返回消息,成功为“success”,失败为具体失败信息
private String message;
// 返回数据
private Object data;
//...
}
User.java
public class User {
private int userId;
private String name;
private int age;
//...
}
UserController.java
@Api(value = "User控制器")
@Controller
@RequestMapping("/user")
public class UserController {
@ApiOperation(value = "根据用户id查询用户信息", httpMethod = "GET", produces = "application/json")
@ApiResponse(code = 200, message = "success", response = Result.class)
@ResponseBody
@RequestMapping(value = "queryUserById", method = RequestMethod.GET, produces = "application/json")
public Result queryUserById(@ApiParam(name = "userId", required = true, value = "用户Id") @RequestParam("userId") int userId, HttpServletRequest request) {
User user = new User(userId, "haoyifen", 24);
Result result = new Result();
result.setCode(0);
result.setData(user);
result.setMessage("success");
return result;
}
}
MySwaggerConfig.java
Simplest:
@Configuration
@EnableSwagger2
public class MySwaggerConfig {
}
资源配置文件
app-beans.xml
app-mvc.xml
app.xml
log4j2.xml
- ```web.xml``
contextConfigLocation
classpath:app.xml
org.springframework.web.util.IntrospectorCleanupListener
org.springframework.web.context.ContextLoaderListener
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
forceEncoding
true
encodingFilter
/*
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
1
springmvc
/
访问
浏览器访问:http://localhost:8080/swagger-ui.html
参考资料
贡献者
binbin.hou