Rejaie
May 10, 2017
  9661
(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
Opti ID overview

Opti ID allows you to log in once and switch between Optimizely products using Okta, Entra ID, or a local account. You can also manage all your use...

K Khan | Jul 26, 2024

Getting Started with Optimizely SaaS using Next.js Starter App - Extend a component - Part 3

This is the final part of our Optimizely SaaS CMS proof-of-concept (POC) blog series. In this post, we'll dive into extending a component within th...

Raghavendra Murthy | Jul 23, 2024 | Syndicated blog

Optimizely Graph – Faceting with Geta Categories

Overview As Optimizely Graph (and Content Cloud SaaS) makes its global debut, it is known that there are going to be some bugs and quirks. One of t...

Eric Markson | Jul 22, 2024 | Syndicated blog

Integration Bynder (DAM) with Optimizely

Bynder is a comprehensive digital asset management (DAM) platform that enables businesses to efficiently manage, store, organize, and share their...

Sanjay Kumar | Jul 22, 2024