The BeAPI framework is known for automation but also has the functionality that you would expect from an enterprise application. Below is a list of the functionality that comes installed 'out of the box':
Autogenerated API Docs
Documents like Swagger will show the same API docs to ADMINS as they will to USERS. We autogenerate the API Docs based on OPTIONS and show the docs based on a users ROLE so they only see docs for endpoints they have access to.
Batching your API's means adding additionally functionality for each endpoint. In BeAPI, all API's can be automatically batched by default. All you need to do is add the ROLES to your IO state file for each endpoint you want batched. You can learn more about it in our documentation.
To be able to see and test for 'bottlenecks in your code, we provide a built in profiler to show potential issues in your controllers and methods and how to pinpoint them.
JWT Token Management
Logging in, Logging out, authentication and validation? All handled via Oauth2. This can be one of the biggest pains for developers to setup so we automatically handled it so you don't have to worry about it.
Most gateways keep a duplicate of data that is hardcoded at your controllers; as a result, any changes to this data require you to take down your servers. In BeAPI, we abstract that data away from your controllers so we can synchronize and reload your schema on the fly.
Alot of people don't understand Webhooks, so being one of the first adopters, I merely built them in and automated them for all endpoints. So all you have to do is add ROLES for the endpoints you want to add webhooks to and add the callback in to the database. You can learn more about it in our documentation.
Rate / Data Limiting
You have added your api's but you don't want users to be hogging your bandwidth or mining your data. Turn on rate limiting and reduce the amount of data your users can request per hour. You can learn more about this in our documentation.
All RESPONSES are cached locally to speed up returning similar api calls. This is done automatically for all ROLES and is associated with the endpoint so there is nothing to setup or configure. In turn, the cache is secured through a HASH algorithm on ALL cached responses based on clients role and requesting data.
We are currently working on improved statistics reporting and will be adding this into our frontend.
What GraphQL hardcodes into their backend with numerous API calls, we do DYNAMICALLY on the frontend with a single request/response. To learn more, see our documentation on API Chaining