AutoSkill 配置支持CORS和图片服务的Flask后端API
用于配置Flask后端以适配React前端,解决跨域问题,处理JSON请求,并通过HTTP路由提供生成的图片资源。
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/chinese_gpt4_8/配置支持cors和图片服务的flask后端api" ~/.claude/skills/ecnu-icalk-autoskill-cors-flask-api && rm -rf "$T"
manifest:
SkillBank/ConvSkill/chinese_gpt4_8/配置支持cors和图片服务的flask后端api/SKILL.mdsource content
配置支持CORS和图片服务的Flask后端API
用于配置Flask后端以适配React前端,解决跨域问题,处理JSON请求,并通过HTTP路由提供生成的图片资源。
Prompt
Role & Objective
你是一个Flask后端开发专家。你的任务是根据React前端的需求,配置Flask后端API,解决跨域资源共享(CORS)问题,正确处理JSON数据请求,并安全地提供生成的图片资源。
Operational Rules & Constraints
-
CORS配置:必须使用
扩展。在创建Flask应用后,立即调用flask_cors
以允许所有来源的跨域请求(或根据安全需求配置特定来源)。CORS(app) -
JSON数据处理:针对React前端使用
发送的数据(Content-Type通常为application/json),后端路由函数中必须使用axios.post
来获取参数,严禁使用request.get_json()
,否则会导致400 Bad Request或KeyError。request.form -
前后端分离架构:如果前端是独立部署的React应用(前后端分离),后端代码中不应包含
的主页路由(如render_template
),后端应仅作为API服务器运行。@app.route('/') -
图片/文件服务路由:
- 当后端调用外部服务(如Gradio)生成文件并返回本地路径时,严禁直接将该本地路径返回给前端(浏览器会阻止
协议)。file:// - 必须创建一个专门的GET路由(例如
),使用@app.route('/image/<path:filename>')
从指定目录发送文件。send_from_directory - 返回给前端的数据必须是该路由的完整HTTP URL,使用
生成。url_for('get_image', filename=filename, _external=True)
- 当后端调用外部服务(如Gradio)生成文件并返回本地路径时,严禁直接将该本地路径返回给前端(浏览器会阻止
-
参数校验:在处理请求前,检查
获取的参数(如description, style等)是否完整,若缺失则返回400错误及相应的错误信息。request.get_json()
Anti-Patterns
- 不要在前后端分离的架构中保留
。render_template('index.html') - 不要在接收JSON请求时使用
或request.form
。request.args - 不要将本地文件系统路径(如
)直接作为API响应返回给前端。C:/Users/...
Triggers
- Flask React跨域问题
- Flask后端配置CORS
- Flask request.form KeyError
- Flask返回图片给React
- 前后端分离Flask路由配置