Sitecore(サイトコア)上でAPIを作成する場合は、API用のパイプラインを設定し作成することが多いですが、標準で用意されているパイプラインを利用することも可能です。
その場合はServicesApiControllerを継承したコントローラーを下記のように作成します。
作成したクラスには「ServicesController」属性を付けます。
あとは返したいモデル等を自由に作成して返り値にするとjsonを返すことができます。
using Sitecore.Services.Core;
using Sitecore.Services.Infrastructure.Web.Http;
using System.Web.Http;
namespace Sample.Controllers
{
[ServicesController]
public class TestApiController : ServicesApiController
{
[HttpGet]
public SampleModel Test(int id)
{
return new SampleModel
{
Id = id,
Body = "Sample json"
}; ;
}
}
public class SampleModel
{
public int Id { get; set; }
public string Body { get; set; }
}
}
以下のURLからアクセスすると結果が取得できます。
sitecore/api/ssc/{namespace}/{Controller}/{id}/{Action}
例): sitecore/api/ssc/Sample-Controllers/TestApi/1/Test
{"Id":1,"Body":"Sample json"}
※namespaceが「-」区切りになる点に注意してください。
以上になります。
参考
Sitecore Services Client