# 非Java项目推送文档
需要企业版2.2.0及以上版本
Torna默认支持Java语言,但也可以推送非Java语言的接口文档。利用MCP可以方便地将不同语言的接口文档推送到Torna平台。
下面演示将Python写的http接口推送到Torna平台,理论上可以支持GO、.NET等语言
接口代码如下:
app.py
from flask import Flask, request, jsonify
### 此文件演示如果通过MCP将Python接口推送到Torna
### 步骤:
### 1. IDE设置MCP,参考:https://torna.cn/tutorial/mcp.html
### 2. 对话框输入:@/app.py 使用tornamcp 中的推送文档 接口,将接口推送到 `test2` 应用当中,并放在文件夹 `Python API`下
# 初始化Flask应用
app = Flask(__name__)
# 定义和Java中UserDTO对应的Python字典结构(模拟DTO)
# 实际项目中可使用dataclasses或pydantic来定义更规范的DTO
class UserDTO:
def __init__(self, user_id=None, username=None, age=None):
self.user_id = user_id
self.username = username
self.age = age
# 转换为字典,方便返回JSON格式
def to_dict(self):
return {
"userId": self.user_id,
"username": self.username,
"age": self.age
}
# 对应原代码的POST /user/create接口
@app.route('/user/create', methods=['POST'])
def create_user():
# 获取请求参数(Flask中POST请求的表单参数用request.form,JSON参数用request.get_json())
# 兼容表单提交和JSON提交两种方式,更贴近Spring Boot的参数接收逻辑
if request.is_json:
user_data = request.get_json()
else:
user_data = request.form.to_dict()
# 模拟接收UserDTO参数(这里可根据实际需求处理参数)
user_dto = UserDTO(
username=user_data.get('username'),
age=user_data.get('age')
)
# 原逻辑返回"创建用户"字符串
return "创建用户"
# 对应原代码的GET /user/get接口
@app.route('/user/get', methods=['GET'])
def get_user():
# 获取URL中的userId参数(对应Java的Long类型,Python中自动转为int/float)
user_id = request.args.get('userId', type=int)
# 原逻辑返回null,这里返回空JSON(更符合RESTful规范)
# 如果需要返回UserDTO对象,可示例:
# user_dto = UserDTO(user_id=user_id, username="张三", age=20)
# return jsonify(user_dto.to_dict())
return jsonify(None)
# 程序入口
if __name__ == '__main__':
# 启动Flask服务,默认端口5000,开启调试模式(生产环境需关闭debug=True)
app.run(debug=True, host='0.0.0.0', port=5000)