初级
实现标准化错误响应
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
def solve():
from pyodide.http import open_url
from io import StringIO
import pandas as pd, json
devs_csv = open_url("https://data.zuihe.com/dbd/ms-iot/state_00/devices.csv").read()
devs = pd.read_csv(StringIO(devs_csv))
def error_response(code, error_code, message, details=None):
resp = {'code': code, 'error': {'code': error_code, 'message': message}}
if details: resp['error']['details'] = details
return resp
cases = [
(404, 'DEVICE_NOT_FOUND', 'Device DEV099 not found', None),
(400, 'MISSING_FIELD', 'timestamp is required', {'field':'timestamp'}),
(429, 'RATE_LIMIT', 'Upload rate limit exceeded', {'retry_after':5}),
(503, 'SERVICE_UNAVAILABLE', 'timeseries_db circuit open', None),
]
for code,ec,msg,details in cases:
r = error_response(code, ec, msg, details)
print(f"HTTP {code}: {json.dumps(r, ensure_ascii=False)}")
示例
输入
solve()
期望输出
HTTP 404: {"code": 404, "error": {"code": "DEVICE_NOT_FOUND", "message": "Device DEV099 not found"}}
HTTP 400: {"code": 400, "error": {"code": "MISSING_FIELD", "message": "timestamp is required", "details": {"field": "timestamp"}}}
HTTP 429: {"code": 429, "error": {"code": "RATE_LIMIT", "message": "Upload rate limit exceeded", "details": {"retry_after": 5}}}
HTTP 503: {"code": 503, "error": {"code": "SERVICE_UNAVAILABLE", "message": "timeseries_db circuit open"}}
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199