If you have a new project and want to create a project with MVC and WebAPI together, you just need to select the correct template on Visual Studio. But if you already have an MVC project and want to include a WebAPI on the same project, how can you do that?

1. Add reference to 
2. Add App_Start\WebApiConfig.cs (see code snippet below).
3. Import namespace System.Web.Http in Global.asax.cs.
4. Call WebApiConfig.Register(GlobalConfiguration.Configuration) in MvcApplication.Application_Start() (in file Global.asax.cs), before registering the default Web Application route as that would otherwise take precedence.
5. Add a controller deriving from System.Web.Http.ApiController.

You could then learn enough from 
the tutorial (Your First ASP.NET Web API) to define the API controller.


using System.Web.Http;
class WebApiConfig
    public static void Register(HttpConfiguration configuration)
        configuration.Routes.MapHttpRoute("API Default", "api/{controller}/{id}",
            new { id = RouteParameter.Optional });


using System.Web.Http;
protected void Application_Start()

The NuGet package Microsoft.AspNet.WebApi must be installed for the above to work.