Implement the ApiController
The following code example demonstrates how you can implement an Web ApiController. You can inject a parameter in the controller's constructor leveraging the Ninject bindings. For more information, see Implement the service layer with Ninject.
C#
using System.Web.Http;
using SitefinityWebApp.Custom.Services;
namespace SitefinityWebApp.WebApiControllers
{
public class WebApiController : ApiController
{
private IHelloSitefinityService service;
public WebApiController(IHelloSitefinityService service)
{
this.service = service;
}
[HttpGet]
public IHttpActionResult Hello()
{
string helloString = this.service.SayHello();
if (string.IsNullOrEmpty(helloString))
{
return this.NotFound();
}
return this.Ok(helloString);
}
}
}
RECOMMENDATION: To make sure you can easily differentiate between the Classic MVC controllers and widget controllers, we recommend that you place the
ApiControllerin the<root>/ApiControllersfolder.
Once you build the project, the controller gets the service as a parameter to its constructor. When you request the domain/api/<ControllerName>/get route, the controller is executed by the ASP.NET pipeline and returns the corresponding string.
Want to learn more?
Enhance your Sitefinity skills by enrolling in free training sessions. Become Sitefinity certified through Progress Education Community to strengthen your professional credentials.
Get started with Integration Hub | Sitefinity Cloud
This free lesson teaches administrators, marketers, and other business professionals how to use Sitefinity Integration Hub to create automated workflows between Sitefinity and other business systems.
Web Security for Sitefinity Administrators
This free lesson teaches administrators the basics about protecting your Sitefinity instance and your sites from external threats. Configure HTTPS, SSL, allow lists for trusted sites, and cookie security, among others.
Foundations of Sitefinity ASP.NET Core Development
The free on-demand video course teaches developers how to use Sitefinity ASP.NET Core and take advantage of its decoupled architecture and modern development model.