Swagger UI 使用实例

类上依赖jar包pom.xml:

		<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>

			<dependency>
				<groupId>io.springfox</groupId>
				<artifactId>springfox-staticdocs</artifactId>
				<version>2.4.0</version>
			</dependency>

spring的配置文件中加入:

	<mvc:resources mapping="swagger-ui.html" location="classpath:/META-INF/resources/" />
	<mvc:resources mapping="/webjars/**" location="classpath:/META-INF/resources/webjars/" />

类上所加注释:

@Api(value = "有效期规则定义-api", description = "有效期规则定义API")
@Controller
@RequestMapping(value="/validitRuleDefine")
public class ValiditRuleDefController {</span>


方法上所加注释:
	private static final String INSERTVALIDITRULE ="{\"startDate\":\"2016-07-20\",\"endDate\":\"2016-07-21\",\"expireTime\":\"2016-07-21\"}"; 
	/**
	 * 添加有效期规则定义
	 * @param request
	 * @return
	 */
	@ApiOperation(value = "新增有效规则定义", notes = "新增有效规则定义")
	@ApiResponses(value = { @ApiResponse(code = 200, message = "返回结果 -- state:0(成功),state:非0(失败)") })
	@RequestMapping(value="/insert",method=RequestMethod.POST)
	@ResponseBody
	public Map<String,Object> insertRule(HttpServletRequest request, @ApiParam(value = INSERTVALIDITRULE)@RequestParam String json){
		int resultCode=Constant.CODE_SUCCESS0;
		String resultName="保存成功";
		Map<String,Object> mapData=new HashMap<String,Object>();
		ExpirySet expirySet = new ExpirySet();
		try {
			expirySet = (ExpirySet) JsonUtil.jsonToObjectYYMMDD(json, ExpirySet.class);
			expirySet.setStatus(0);
		} catch (Exception e) {
			e.printStackTrace();
			logger.error("ValiditRuleDefController.save error", e);
			return JsonUtil.returnData(Constant.CODE_CLIENT_ERROR, "客户端数据异常", mapData);
		}。。。。。。


页面效果如下



### 如何在 Flask 和 FastAPI 中使用和配置 Swagger UI #### FastAPI 中的 Swagger UI 配置 FastAPI 内置支持 Swagger UI,这意味着无需任何额外配置即可直接访问交互式 API 文档界面。启动 FastAPI 应用后,默认会在根路径 `/docs` 下提供 Swagger UI 页面[^1]。此外,FastAPI 还提供了另一个基于 ReDoc 的文档页面位于 `/redoc` 路径下。 如果需要禁用或自定义 Swagger UI 的行为,可以通过传递参数给 `FastAPI` 类实例来实现: ```python from fastapi import FastAPI app = FastAPI(docs_url="/custom-docs", redoc_url=None) @app.get("/") def read_root(): return {"message": "Hello World"} ``` 在此示例中,Swagger UI 的 URL 已被更改为了 `/custom-docs`,并且关闭了 ReDoc 功能(设置为 None)。这种灵活性允许开发者根据具体需求调整前端显示效果[^4]。 #### Flask 中的 Swagger UI 集成方法 与 FastAPI 不同的是,在 Flask 中并没有原生支持 Swagger UI 的功能,因此需要借助外部库如 `flasgger` 或者手动集成 HTML 文件的方式来启用这一特性。 ##### 方法一:使用 Flasgger 扩展 Flasgger 是专门为 Flask 设计的一个用于生成 Swagger UI 的扩展包。安装完成后按照官方指南进行初始化操作即可轻松获得相似体验。 ```bash pip install flasgger ``` 接着修改主文件代码如下所示: ```python from flask import Flask, jsonify from flasgger import Swagger app = Flask(__name__) swagger = Swagger(app) @app.route('/example') def example_endpoint(): """ Example endpoint returning some data. --- responses: 200: description: A single user item schema: type: object properties: message: type: string """ return jsonify(message="This is an example") if __name__ == '__main__': app.run(debug=True) ``` 运行以上脚本之后打开浏览器前往地址 http://localhost:5000/apidocs#/default/example_endpoint 即可看到渲染好的文档视图[^4]。 ##### 方法二:嵌入静态资源 另一种更为底层但也更加灵活的方式就是下载最新版 swagger-ui 发布包中的 dist 文件夹内容放置到项目 static 目录下面,再通过模板引擎加载对应 html 模板从而达到目的。不过这种方法相对繁琐一点而且维护成本较高所以一般只适用于特殊场合才会选用这种方式。 --- ### 总结比较 综上可以看出无论是便利性还是易用度方面 FastAPI 明显优于传统意义上的 WSGI 微框架——Flask ,特别是在涉及大规模分布式系统的开发过程中前者凭借自身优异的表现往往成为首选方案之一[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值