在HTTP响应中使用错误或非错误取决于具体业务需求。通常,HTTP状态码中4xx和5xx表示错误响应,而2xx表示非错误响应。
如果您的API遇到业务问题,例如无效的参数或身份验证失败,则可以使用4xx错误响应。例如,以下是一个返回400错误响应的Python Flask示例代码:
@app.route('/api/v1/users/', methods=['GET'])
def get_user(user_id):
if user_id <= 0:
return jsonify({'message': 'Invalid user ID'}), 400
user = User.query.get(user_id)
if not user:
return jsonify({'message': 'User not found'}), 404
return jsonify(user.serialize()), 200
如果您的API成功响应业务问题,则可以使用2xx非错误响应。例如,以下是一个返回200非错误响应的Java Spring Boot示例代码:
@GetMapping("/api/v1/products/{productId}")
public ResponseEntity getProduct(@PathVariable String productId) {
Product product = productService.getProduct(productId);
if (product == null) {
return ResponseEntity.notFound().build();
}
return ResponseEntity.ok(product);
}