I'm working on a project where I have a controller with a few endpoints which can be called from Sitecore and non-Sitecore sites. This works fine. Now I have to add a different endpoint that needs to read an item from the context database in order to return the requested data. My problem is that when I try to access the specified item I get an exception due to the database being null.
I know that the controller is not in the Sitecore context but I don't know how to solve/work around it.
Below you will find a short snippet of the controller.
[RoutePrefix("api/test")]
[HandleException]
public class TestApiController : Controller
{
public TestApiController()
{
// some stuff
}
[HttpPost]
[Route("SpecialAction")]
public async Task<string> SpecialAction(string data)
{
string itemID = "{443FA245-623A-4EEF-B519-281A9C709B7C}";
Item specialItem = Sitecore.Context.Database.GetItem(new Sitecore.Data.ID(itemID));
if (specialItem.HasChildren)
{
// logic
}
return response;
}
}