-
Notifications
You must be signed in to change notification settings - Fork 13.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SIP-17] Proposal for using new FAB REST API #7259
Comments
This is great. I think the deprecation migration plan is a requirement. (wasn't sure about the language "can be achieved" so just making sure) |
I've submitted #7482, but needs FAB>2.1. This PR has no breaking changes. For the deprecation of the old REST API attached on the |
@dpgaspar Should this SIP go up for a |
I believe this can be closed as it's effectively implemented. |
Yes, this is implemented |
Motivation
Take advantage of the new FAB REST API feature available since version 1.13.0. The previous
API endpoints available inside
ModelView
did not follow a strict RESTful convention, and will be removed in 2 to 3 minors. The following are some improvements:ModelViews
Docs: https://flask-appbuilder.readthedocs.io/en/latest/rest_api.html
Proposed Change
I propose migrating current views.Api class to BaseApi. So Superset will have it's new API properly anchored on
/api/v1/<resource>/
and start using FAB's new feature.The endpoint
/api/v1/query
does not need to change it's route or HTTP method.The endpoint
/api/v1/form_data/
would be changed to /api/v1/slice/ usingModelRestApi
on readonly mode (can_get, can_info only permissions).New or Changed Public Interfaces
This SIP affects the following API endpoints:
Optional Swagger UI for OpenAPI spec visualization.
New dependencies
New dependencies were added to FAB 1.13.0:
Migration Plan and Compatibility
A side by side migration plan can be achieved. Since the new API endpoint is exposed on a different route. Access to the old endpoint would log a deprecation log message.
Rejected Alternatives
The text was updated successfully, but these errors were encountered: