40 lines
1.3 KiB
Python
40 lines
1.3 KiB
Python
# 第5-3课练习:HTTP响应与状态码
|
|
#
|
|
# 本文件只提供题目、预期结果、自查清单和验收标准,不包含参考答案或代码骨架。
|
|
|
|
|
|
# 练习一:为业务结果选择状态码
|
|
# 1. 查询成功并返回图书。
|
|
# 2. 成功创建图书。
|
|
# 3. 成功删除且不返回响应体。
|
|
# 4. 请求JSON格式错误。
|
|
# 5. 未登录、已登录但无权限、图书不存在、服务器未知异常。
|
|
# 为每种情况选择状态码,并在注释中解释原因。
|
|
|
|
|
|
# 练习二:构造响应
|
|
# 1. 编写create_book(title),空标题返回客户端错误。
|
|
# 2. 标题有效时模拟创建图书,返回新资源信息和Location响应头。
|
|
# 3. 编写print_response()输出状态行、响应头和响应体。
|
|
|
|
|
|
# 预期关键输出:
|
|
# HTTP/1.1 201 Created
|
|
# Location: /books/3
|
|
# 响应体:{'id': 3, 'title': 'Web基础'}
|
|
# HTTP/1.1 400 Bad Request
|
|
|
|
|
|
# 自查清单:
|
|
# 1. 是否避免所有结果都返回200?
|
|
# 2. 是否区分401未认证与403无权限?
|
|
# 3. 是否区分客户端错误与服务器错误?
|
|
# 4. 204响应是否没有响应体?
|
|
|
|
|
|
# 最终验收标准:
|
|
# 1. practice.py通过语法检查并可独立运行;
|
|
# 2. 各业务情况的状态码合理;
|
|
# 3. 创建成功包含Location响应头;
|
|
# 4. 能解释2xx、4xx和5xx的责任边界。
|