API的响应状态码应该反映出其执行结果状态。应该向客户端返回正确的HTTP状态码,例如404表示请求的资源未找到,或500表示服务器错误。
以下是一个示例:
若传入无效的 ID 参数,则应返回 404 状态码:
HTTP/1.1 404 Not Found
Content-Type: application/json
{
"error": {
"code": "not_found",
"message": "Resource not found"
}
}
API应该返回错误信息,以帮助客户端识别并解决问题,并附带相应的文档或联络方式。
以下是一个示例:
若未经过身份验证,则应该返回 401 状态码,并且指明需要进行身份验证:
HTTP/1.1 401 Unauthorized
Content-Type: application/json
{
"error": {
"code": "unauthorized",
"message": "Authentication required"
}
}
API应该采用标准化的响应格式来处理错误,以使得客户端能够更容易地处理异常情况。
以下是一个示例:
应该返回一个具有标准结构的错误对象,包括错误代码和描述性消息:
HTTP/1.1 400 Bad Request
Content-Type: application/json
{
"error": {
"code": "invalid_request",
"message": "The 'amount' parameter is invalid"
}
}
在代码中,应该使用try-catch块或同等机制来捕获异常并向客户端返回适当的HTTP响应。
以下是一个示例:
try:
response = requests.post(url, json=data, headers=headers)
except requests.exceptions.RequestException as e:
message = "An error occurred: {}".format(str