-
Notifications
You must be signed in to change notification settings - Fork 31
Description
Summary
Currently, Flask API endpoints return responses in slightly different formats.
Some routes return raw data directly (e.g., return jsonify(data), 200), while others return structured objects like:
{
"message": "...",
"status_code": "success"
}
This inconsistency makes frontend integration and future maintenance harder, as consumers of the API cannot reliably expect a consistent response structure.
Proposed Improvement
Introduce a standardized JSON response schema for all backend endpoints. For example:
{
"success": true,
"message": "Optional human-readable message",
"data": { ... },
"error": null
}
For error cases:
{
"success": false,
"message": "Error description",
"data": null,
"error": "Detailed error info (optional)"
}
Benefits
- Predictable API contract for frontend
- Easier debugging and logging
- Cleaner long-term maintenance
- Foundation for potential API versioning
Scope (Non-breaking)
This change can be implemented incrementally:
- Introduce a helper function (e.g.,
api_response(...)) - Refactor routes gradually without changing endpoint URLs
- Preserve existing status codes (200, 404, 500, etc.)
- This would not require frontend changes immediately, as existing response shapes can be wrapped progressively.
I’d be happy to help draft a small helper utility to standardize responses across routes.