Mon. Dec 23rd, 2024

TourismWiki General Blog

We want to talk about other topics

Build and deploy your REST Web API in seconds, no code required

2 min read

Few clicks Rest API from your MS SQL database? A well designed API is self-documenting. If you know how to work with one REST API, you will quickly learn the quirks of others. InstantWebApi is an API-first product. I spent a lot of time on API design. My intent is to be able to hire multiple teams in parallel, giving them access to my API, and seeing which implementation I like best. They will all be compatible. I can then simply discontinue the less interesting implementation projects.

Thanks to JSON, REST offers better support for browser clients. REST provides superior performance, particularly through caching for information that’s not altered and not dynamic. REST is the protocol used most often for major services such as Yahoo, Ebay, Amazon, and even Google. REST is generally faster and uses less bandwidth. It’s also easier to integrate with existing websites with no need to refactor site infrastructure. This enables developers to work faster rather than spend time rewriting a site from scratch. Instead, they can simply add additional functionality.

Begin with the API User in Mind: Bestselling author and architect Sam Newman’s great book on microservices provides a powerful alternative to the database-driven approach for designing REST web services. It’s useful even if you don’t plan to use microservices. Newman suggests that you divide your application into bounded contexts (similar to business areas). Each bounded context should provide an explicit interface for those who wish to interact with it. Implementation details of the bounded context that don’t need to be exposed to the outside world are hidden behind the interface. You should use this explicit interface as the basis for your API design. Start by asking yourself what business capabilities do the API user needs, rather than what data that should be shared. In other words, ask yourself what does this bounded context do? and then ask yourself what data does it need to do that?

Use Visual Studio 2017 to create an empty Web API project. Make sure you add unit tests to the solution. This empty solution will be used as a stub for the generated code. Step 2 Run InstantWebAPI application, select the stub Visual Studio solution file (.sln) created in first step. Using a database connection dialog create a connection string to your server. Application supports MS SQL server, Express or Azure. Once a connection is established to the database, select the tables or views for which Web API needs to created and start the code generator. See additional info at http://instantwebapi.com/.