
1、首先打开Swagger。
2、然后找到新建选项。
3、在里面找到新建文档。
4、在文档中编译对应的程序即可。
如果你有类似的疑问,这篇文章可以帮助你。
项目源码地址: github
出于稳定性考虑,在提测前不允许发布到测试环境,开发阶段如何保障swagger接口的稳定性?
在安装了docker的机器,通过 run.sh 可以执行镜像build及容器运行。
Dockerfile
就是一个 nginx 服务,提供了http访问json的能力。
Dockerfile
nginx.conf 中配置跨域 *** 作 Access-Control-Allow-Origin *
static 目录下是接口json文件
通过 http://localhost:8080/v2/api-docs 获取json文件,命名后push到git项目 api 目录下
浏览器访问swagger-ui服务,并在窗口输入json文件访问路径 https://localhost:8080/demo_api_2.json ,然后就可以看到swagger接口定义。
看了一下 swagger-ui 的镜像实现,内部也是一个nginx,运行js。所以没必要自己搞一套nginx,直接把json文件copy到 swagger-ui 即可。
更新后到swagger服务Dockerfile如下
关于 缺陷2 可以考虑使用 API_URLS 环境变量实现,但是设置后,不能自定义输入jsonUrl
效果图如下
demo地址:demo-swagger-springbootspringboot中swaggerUI的使用
1.pom文件中添加swagger依赖
2.从github项目中下载swaggerUI
然后把dist目录下的所有文件复制到springboot项目的webapp下面,修改index.html中的: url = "http://petstore.swagger.io/v2/swagger.json"为--------->url="http://localhost:8080/api-docs"
3.spring boot启动类
public static void main(String[] args) {
SpringApplication.run(IndexController.class,args)
}
/** 配置 swagger开始*/ private SpringSwaggerConfig springSwaggerConfig
/**
* Required to autowire SpringSwaggerConfig
*/
@Autowired
public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig) {
this.springSwaggerConfig = springSwaggerConfig
}
/**
* Every SwaggerSpringMvcPlugin bean is picked up by the swagger-mvc
* framework - allowing for multiple swagger groups i.e. same code base
* multiple swagger resource listings.
*/
@Bean
public SwaggerSpringMvcPlugin customImplementation() {
return new SwaggerSpringMvcPlugin(this.springSwaggerConfig).apiInfo(apiInfo()).includePatterns(".*?")
}
private ApiInfo apiInfo() {
ApiInfo apiInfo = new ApiInfo(
"测试接口文档(标题)", // App Service API
"这是一个描述信息。。。",
"termsOfServiceUrl",
"younaame@yourmail.com",
"2222222222222222222222222222",
"3333333333333333333333333333")
return apiInfo
}
/** 配置 swagger结束*/
4. 添加测试rest接口类:
@RestController
public class HelloController {
@RequestMapping(value = "/hello")
@ApiOperation(value = "添加用户",httpMethod ="POST", response = User.class,notes = "HelloWorld")
public User hello(@ApiParam(required = true,name = "paramData",value = "用户信息 json 数据") String paramData){
User userBean = new User()
userBean.setName("测试用户") userBean.setOtherInfo("其他信息")return userBean} }
5 访问http://localhost:8080/api-docs,返回:
{
"apiVersion": "1.0",
"apis": [
{
"description": "Basic Error Controller",
"path": "/default/basic-error-controller",
"position": 0
},
{
"description": "Hello Controller",
"path": "/default/hello-controller",
"position": 0
}
],
"authorizations": {
},
"info": {
"contact": "younaame@yourmail.com",
"description": "这是一个描述信息。。。",
"license": "2222222222222222222222222222",
"licenseUrl": "3333333333333333333333333333",
"termsOfServiceUrl": "termsOfServiceUrl",
"title": "测试接口文档(标题)"
},
"swaggerVersion": "1.2"
} 说明配置正确。 然后再访问:http://localhost:8080/swagger/index.html,查看restful风格接口信息和效果。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)