1.WebApiConfig クラス内で "text/html" フォーマットをリターンするようにします。
public static class WebApiConfig { public static void Register(HttpConfiguration config) { // Web API の設定およびサービス ... //json を返す //https://stackoverflow.com/a/13277616 config.Formatters.JsonFormatter.SupportedMediaTypes .Add(new MediaTypeHeaderValue("text/html")); } }
2.Request.CreateReponse メソッドに、ステータスコードと、モデルのリストを渡します。すると、クライアントには JSON がリターンされます。
public class ProductsController : ApiController { ... public HttpResponseMessage Get() { IList<IProduct> products = _rep.GetAll(); //モデルリストから JSON に変換 //Content Negotiation in ASP.NET Web API //https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/content-negotiation#serialization return Request.CreateResponse(HttpStatusCode.OK, products); } }