ASP.NET Core Web API
Although HTTP was originally designed to request and respond with HTML and other resources for us to look at, it is also good for building services. Roy Fielding stated, in his doctoral dissertation describing the Representational State Transfer (REST) architectural style, that the HTTP standard defines:
- URLs to uniquely identify resources
- Methods to perform common tasks, such as
GET
andDELETE
- The ability to negotiate media formats such as XML and JSON
To allow the easy creation of services, ASP.NET Core has combined what used to be two types of controller.
In earlier versions of ASP.NET, you would derive from ApiController
to create a Web API service, and then register API routes in the same route table that MVC uses.
With ASP.NET Core, you use exactly the same Controller
base class used with MVC, except the routes are usually configured on the controller itself, using attributes, rather than in the route table.
Scaffolding an API controller
In the Solution Explorer window...