当前位置: 首页> 游戏> 网游 > 石家庄网络推广优化_java和javaweb和javascript_网站推广优化排名公司_百度关键词代做排名

石家庄网络推广优化_java和javaweb和javascript_网站推广优化排名公司_百度关键词代做排名

时间:2025/8/10 18:12:06来源:https://blog.csdn.net/2401_87523886/article/details/145906124 浏览次数:0次
石家庄网络推广优化_java和javaweb和javascript_网站推广优化排名公司_百度关键词代做排名

学习目标:构建规范的API接口

from flask_restful import Api, Resourceapi = Api(app)class PostAPI(Resource):def get(self, post_id):post = Post.query.get_or_404(post_id)return {'title': post.title,'author': post.author.username}api.add_resource(PostAPI, '/api/posts/<int:post_id>')

✅ 实践任务

  1. 安装Flask-RESTful:pip install flask-restful

  2. 实现CRUD接口(GET/POST/PUT/DELETE)

  3. 添加请求参数验证

  4. 使用Postman测试所有API端点

要在你的 Flask 应用中构建规范的 API 接口,首先需要安装 Flask-RESTful。以下是安装和基本使用的步骤:

1. 安装 Flask-RESTful

在终端中运行以下命令以安装 Flask-RESTful:

pip install Flask-RESTful

2. 更新 app.py 文件

安装完成后,你可以在 app.py 中导入 Flask-RESTful 并设置基本的 API 结构。以下是一个示例,展示如何使用 Flask-RESTful 创建一个简单的 API 接口:

# app.py
from flask import Flask, jsonify, render_template, request, redirect, url_for
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
from flask_restful import Api, Resourceapp = Flask(__name__)# 配置数据库
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///users.db'  # 使用 SQLite 数据库
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
migrate = Migrate(app, db)  # 初始化 Flask-Migrate
api = Api(app)  # 初始化 Flask-RESTful# 定义用户模型
class User(db.Model):id = db.Column(db.Integer, primary_key=True)username = db.Column(db.String(80), unique=True, nullable=False)password = db.Column(db.String(120), nullable=False)# 定义用户资源
class UserResource(Resource):def get(self, user_id):user = User.query.get(user_id)if user:return {'id': user.id, 'username': user.username}, 200return {'message': 'User not found'}, 404def post(self):data = request.get_json()new_user = User(username=data['username'], password=data['password'])db.session.add(new_user)db.session.commit()return {'message': 'User created', 'id': new_user.id}, 201# 添加 API 路由
api.add_resource(UserResource, '/api/users/<int:user_id>', endpoint='user')
api.add_resource(UserResource, '/api/users', endpoint='user_list')@app.route('/')
def home():return render_template('home.html')if __name__ == '__main__':app.run(debug=True)

说明:

  • 安装 Flask-RESTful:使用 pip install Flask-RESTful 安装 Flask-RESTful。
  • 导入 Flask-RESTful:在 app.py 中导入 Api 和 Resource。
  • 创建 API 实例:使用 api = Api(app) 创建 API 实例。
  • 定义资源:创建 UserResource 类,定义 get 和 post 方法来处理用户的获取和创建。
  • 添加 API 路由:使用 api.add_resource 方法将资源与 URL 路由关联。

3. 运行应用

确保你的项目结构正确,然后在终端中运行 python app.py。你可以使用 Postman 或 curl 测试 API 接口:

  • 获取用户:GET /api/users/<user_id>
  • 创建用户:POST /api/users,请求体为 JSON 格式,例如:
{"username": "新用户","password": "密码"
}

通过以上步骤,你就可以开始构建规范的 API 接口了。

要实现一个完整的 CRUD 接口(创建、读取、更新和删除),你可以在 Flask-RESTful 中扩展 UserResource 类,添加相应的方法。以下是如何实现的步骤:

1. 更新 app.py 文件

以下是更新后的 app.py 文件,包含完整的 CRUD 接口:

# app.py
from flask import Flask, jsonify, render_template, request
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
from flask_restful import Api, Resourceapp = Flask(__name__)# 配置数据库
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///users.db'  # 使用 SQLite 数据库
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
migrate = Migrate(app, db)  # 初始化 Flask-Migrate
api = Api(app)  # 初始化 Flask-RESTful# 定义用户模型
class User(db.Model):id = db.Column(db.Integer, primary_key=True)username = db.Column(db.String(80), unique=True, nullable=False)password = db.Column(db.String(120), nullable=False)# 定义用户资源
class UserResource(Resource):def get(self, user_id):user = User.query.get(user_id)if user:return {'id': user.id, 'username': user.username}, 200return {'message': 'User not found'}, 404def post(self):data = request.get_json()new_user = User(username=data['username'], password=data['password'])db.session.add(new_user)db.session.commit()return {'message': 'User created', 'id': new_user.id}, 201def put(self, user_id):user = User.query.get(user_id)if user:data = request.get_json()user.username = data.get('username', user.username)user.password = data.get('password', user.password)db.session.commit()return {'message': 'User updated', 'id': user.id}, 200return {'message': 'User not found'}, 404def delete(self, user_id):user = User.query.get(user_id)if user:db.session.delete(user)db.session.commit()return {'message': 'User deleted'}, 200return {'message': 'User not found'}, 404# 添加 API 路由
api.add_resource(UserResource, '/api/users/<int:user_id>', endpoint='user')
api.add_resource(UserResource, '/api/users', endpoint='user_list')@app.route('/')
def home():return render_template('home.html')if __name__ == '__main__':app.run(debug=True)

说明:

  • GET 方法:根据用户 ID 获取用户信息。如果用户存在,返回用户的 ID 和用户名;如果用户不存在,返回 404 错误。
  • POST 方法:创建新用户。接收 JSON 数据,创建新用户并保存到数据库,返回新用户的 ID。
  • PUT 方法:更新用户信息。根据用户 ID 查找用户,如果找到,更新用户名和密码;如果用户不存在,返回 404 错误。
  • DELETE 方法:删除用户。根据用户 ID 查找用户,如果找到,删除用户并返回成功消息;如果用户不存在,返回 404 错误。

2. 测试 CRUD 接口

你可以使用 Postman 或 curl 测试这些接口:

  • 创建用户(POST):
  • URL: http://127.0.0.1:5000/api/users
  • 请求体:
    {"username": "新用户","password": "密码"}
  • 获取用户(GET):
  • URL: http://127.0.0.1:5000/api/users/<user_id>
  • 更新用户(PUT):
  • URL: http://127.0.0.1:5000/api/users/<user_id>
  • 请求体:
    {"username": "更新后的用户名","password": "更新后的密码"}
  • 删除用户(DELETE):
  • URL: http://127.0.0.1:5000/api/users/<user_id>

3. 运行应用

确保你的项目结构正确,然后在终端中运行 python app.py。你现在可以使用 CRUD 接口来管理用户数据。

在 Flask-RESTful 中,你可以使用 Flask-WTF 或 Marshmallow 等库来进行请求参数验证。这里我们将使用 Marshmallow 来验证请求参数。以下是如何实现请求参数验证的步骤:

1. 安装 Marshmallow

首先,你需要安装 Marshmallow 和 Flask-Marshmallow。可以使用以下命令进行安装:

pip install marshmallow flask-marshmallow

2. 更新 app.py 文件

接下来,更新 app.py 文件以使用 Marshmallow 进行请求参数验证。以下是更新后的代码示例:

说明:

1. 定义 Marshmallow 验证模式:

  • 创建 UserSchema 类,定义 username 和 password 字段,并设置为必填字段。
  • 使用 validate 参数确保字段不为空。
  • 在资源中验证请求数据:
  • 在 post 和 put 方法中,使用 user_schema.load(request.get_json()) 验证请求数据。
  • 如果验证失败,捕获 ValidationError 异常并返回错误消息。

3. 测试请求参数验证

你可以使用 Postman 或 curl 测试请求参数验证:

  • 创建用户(POST):
  • URL: http://127.0.0.1:5000/api/users
  • 请求体(有效):
    {"username": "新用户","password": "密码"}

- 请求体(无效):

    {"username": "","password": ""}

如果请求体无效,API 将返回 400 状态码和错误消息。

4. 运行应用

确保你的项目结构正确,然后在终端中运行 python app.py。你现在可以使用请求参数验证来确保输入数据的有效性。

你可以通过以下步骤找到并安装 Postman:

1. 访问 Postman 官网

打开你的浏览器,访问 Postman 的官方网站:Postman 官网

2. 下载 Postman

在 Postman 官网,你可以找到下载链接。根据你的操作系统选择合适的版本:

  • Windows:点击 Windows 下载链接,下载并安装 Postman。
  • macOS:点击 macOS 下载链接,下载并安装 Postman。
  • Linux:根据你的 Linux 发行版选择合适的安装方式。

3. 安装 Postman

下载完成后,按照安装向导的步骤进行安装。安装完成后,启动 Postman。

4. 创建 Postman 账户(可选)

首次启动 Postman 时,你可以选择创建一个账户或使用访客模式。创建账户可以让你保存请求和工作区。

5. 使用 Postman

  • 创建请求:在 Postman 中,你可以选择请求类型(GET、POST、PUT、DELETE等),输入请求 URL,设置请求头和请求体。
  • 发送请求:点击 Send 按钮发送请求,并查看响应。

6. 学习资源

Postman 还提供了丰富的文档和教程,帮助你更好地使用这个工具。你可以访问 Postman 文档 来了解更多。

通过以上步骤,你就可以找到并安装 Postman,开始使用它来测试你的 API 接口。

使用 Postman 测试 API 端点是一个非常方便的方式。以下是如何使用 Postman 测试你在 Flask 应用中实现的所有 API 端点的步骤:

1. 启动 Flask 应用

确保你的 Flask 应用正在运行。在终端中运行以下命令:

python app.py

默认情况下,Flask 应用将在 http://127.0.0.1:5000/ 上运行。

2. 打开 Postman

启动 Postman 应用程序。如果你还没有安装 Postman,请参考之前的说明进行安装。

3. 测试 API 端点

1. 创建用户(POST)
  • 请求类型:POST
  • URL:http://127.0.0.1:5000/api/users
  • 请求体:
  • 选择 Body 选项卡。
  • 选择 raw,并在右侧下拉菜单中选择 JSON。
  • 输入以下 JSON 数据:
    {"username": "新用户","password": "密码"}
  • - 发送请求:点击 Send 按钮。
2. 获取用户(GET)
  • 请求类型:GET
  • URL:http://127.0.0.1:5000/api/users/1(将 1 替换为你想要获取的用户 ID)
  • 发送请求:点击 Send 按钮。
3. 更新用户(PUT)
  • 请求类型:PUT
  • URL:http://127.0.0.1:5000/api/users/1(将 1 替换为你想要更新的用户 ID)
  • 请求体:
  • 选择 Body 选项卡。
  • 选择 raw,并在右侧下拉菜单中选择 JSON。
  • 输入以下 JSON 数据:
    {"username": "更新后的用户名","password": "更新后的密码"}
  • - 发送请求:点击 Send 按钮。
4. 删除用户(DELETE)
  • 请求类型:DELETE
  • URL:http://127.0.0.1:5000/api/users/1(将 1 替换为你想要删除的用户 ID)
  • 发送请求:点击 Send 按钮。

4. 检查响应

每次发送请求后,Postman 将显示响应结果,包括状态码和返回的 JSON 数据。你可以根据返回的结果确认 API 是否正常工作。

5. 测试无效请求

你还可以测试无效请求,以确保 API 的验证功能正常。例如,尝试发送一个缺少 username 或 password 的 POST 请求,检查是否返回 400 错误和相应的错误消息。

总结

通过以上步骤,你可以使用 Postman 测试所有 API 端点,包括创建、获取、更新和删除用户。确保在测试时根据实际情况替换用户 ID。

关键字:石家庄网络推广优化_java和javaweb和javascript_网站推广优化排名公司_百度关键词代做排名

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: