First, I want to thank Erel for making B4J in creating server app possible. I am able to create some API server apps (non-UI) using B4J with ease like here and here.
Recently, I need to develop a .NET Web API. While I am learning, I found there are some "Advanced" features that would be great if available for B4X (B4J specifically) to build a complete Web API. Many programming languages are popular for making Web API. If B4X becomes a good tool to create Web API, this could attract more developers to use B4X.
My wish is to have a framework so we can easily build Web API with following features:
1. Create a new project with a basic or boilerplate template to get started.
2. Auto-generate the API based on "Controller" (or Handler) class. Easy scaffolding a skeleton class.
3. Easily set the Accept and Content-Type to receive and output different Media Type e.g JSON or XML (Content Negotiation). Optional: At some point use jRDC.
4. Auto generate documentation using the comments above the RESTful API Verb sub (GET, POST, PUT, DELETE)
5. Able to integrate with swagger, so simple tests can be executed without using Postman or Curl
6. Connection Pool management or easily work with HikariCP or other alternatives. Limit maximum calls per second to prevent server being attack.
7. Security and Authorization (Basic, API Key, Token Based, OAuth, Facebook, Google), Token refresh.
8. Enable or disable Caching
9. Optional: MD5 or HMAC Authentication
10. Optional: Wizard to select a SQL database table as model
11. Optional: Performance monitoring
12: Optional: Compression and optimization
13. Optional: Unit test
14. Optional: API Versioning
15. Using SSL (It is already possible with SslConfiguration so it should be easy to include this feature)
I wish @alwaysbusy can continue his project
Recently, I need to develop a .NET Web API. While I am learning, I found there are some "Advanced" features that would be great if available for B4X (B4J specifically) to build a complete Web API. Many programming languages are popular for making Web API. If B4X becomes a good tool to create Web API, this could attract more developers to use B4X.
My wish is to have a framework so we can easily build Web API with following features:
1. Create a new project with a basic or boilerplate template to get started.
2. Auto-generate the API based on "Controller" (or Handler) class. Easy scaffolding a skeleton class.
3. Easily set the Accept and Content-Type to receive and output different Media Type e.g JSON or XML (Content Negotiation). Optional: At some point use jRDC.
4. Auto generate documentation using the comments above the RESTful API Verb sub (GET, POST, PUT, DELETE)
5. Able to integrate with swagger, so simple tests can be executed without using Postman or Curl
6. Connection Pool management or easily work with HikariCP or other alternatives. Limit maximum calls per second to prevent server being attack.
7. Security and Authorization (Basic, API Key, Token Based, OAuth, Facebook, Google), Token refresh.
8. Enable or disable Caching
9. Optional: MD5 or HMAC Authentication
10. Optional: Wizard to select a SQL database table as model
11. Optional: Performance monitoring
12: Optional: Compression and optimization
13. Optional: Unit test
14. Optional: API Versioning
15. Using SSL (It is already possible with SslConfiguration so it should be easy to include this feature)
I wish @alwaysbusy can continue his project