Try our conversational search powered by Generative AI!

Rejaie
May 10, 2017
  9448
(6 votes)

Episerver CMS + Web API

During my last Episerver project, I needed to stand up a Web API endpoint to grab data from an external source. Sounds easy enough, right? Actually, it is in Episerver. One of Episerver’s greatest strengths is the code base works really well with existing ASP.NET features like Web API. In the scenario above, you can easily wire up a Web API Controller just like you would in any MVC web application. Here are the steps I followed to set up a very simple Web API controller in Episerver:

 

  1. Open your Episerver solution in Visual Studio
  2. Create an API controller named DummyApiController under the Controllers folder. From here, add an action to do something simple, such as returning the number 5.

    Image Step2-1.png

    Image Step2-2.png

  3. Create a code file named WebApiConfig.cs. This fill will contain a method called Register. This method will register the route to our custom API.

    Image Step3-1.png

  4. Add code to register your route with the application in the WebApiConfig.cs file.Image Step4-1.png
  5. Next, call the register method in the Application_Start method. You can find this method in the global.asax.cs fileImage Step5-1.png
  6. Fire up your app, and navigate to your API endpoint (http://host/app-api/getdummynumber). The request will return the number 5!Image Step6-1.png 

 

That’s it. Very, very simple. However, in this case, you will need to do a lot more in terms of security and data input validation. Hope this is helpful to you.

May 10, 2017

Comments

Robert Domingo
Robert Domingo Jan 17, 2018 08:44 PM

how come I couldn't make it work :(

Darren Sunderland
Darren Sunderland Jul 20, 2018 03:23 PM

This works when running on a development machine but when the solution is published to the DXC environment this returns a 404 error everytime.  Is there something further required to get this running in the DXC?

Sam Brooks
Sam Brooks Nov 17, 2020 06:36 PM

thanks Rejaie,

i was struggling to set up an api on an episerver website and this guide was exactly waht i was lookin for. Thanks for keeping it simple, some other examples i found were overly complicated and i was struggling to work out which part i had done wrong.

Sam

Please login to comment.
Latest blogs
Anonymous Tracking Across Devices with Optimizely ODP

An article by Lead Integration Developer, Daniel Copping In this article, I’ll describe how you can use the Optimizely Data Platform (ODP) to...

Daniel Copping | Apr 30, 2024 | Syndicated blog

Optimizely Forms - How to add extra data automatically into submission

Some words about Optimizely Forms Optimizely Forms is a built-in add-on by Optimizely development team that enables to create forms dynamically via...

Binh Nguyen Thi | Apr 29, 2024

Azure AI Language – Extractive Summarisation in Optimizely CMS

In this article, I demonstrate how extractive summarisation, provided by the Azure AI Language platform, can be leveraged to produce a set of summa...

Anil Patel | Apr 26, 2024 | Syndicated blog

Optimizely Unit Testing Using CmsContentScaffolding Package

Introduction Unit tests shouldn't be created just for business logic, but also for the content and rules defined for content creation (available...

MilosR | Apr 26, 2024