ASP.NET Web API 2
In 2013, Microsoft developed a framework within the range of ASP.NET tools to easily create REST APIs. The aim was to minimize the boilerplate needed to create web service controllers. While the design is mainly aimed at an object-oriented language such as C#, its simplicity makes it possible to adapt it to F# without any complication.
In ASP.NET Web API, you can set HTTP routes and verbs automatically by defining a type with the appropriate names and attributes. The use of attributes in .NET is frequent for libraries that use reflection to map .NET types to other data, such as Newtonsoft.Json
or sqlite-net
, but ASP.NET Web API also makes use of naming conventions to prevent pollution of your code with too many attributes.
This is what a hello world example looks like in ASP.NET Web API 2:
type HelloController() = inherit System.Web.Http.ApiController() member x.Get(name: string) = sprintf "Hello %s!" name
In a properly set Web API 2 app...