レスポンスをXML形式ではなくJSON形式にした場合があります。
JSON形式でのレスポンスにする場合はこちらの記事を参照してください。
DefaultController.cs
とします。using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
namespace SimpleWebApi.Controllers
{
public class DefaultController : ApiController
{
// GET api/<controller>
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/<controller>/5
public string Get(int id)
{
return "value";
}
// POST api/<controller>
public void Post([FromBody] string value)
{
}
// PUT api/<controller>/5
public void Put(int id, [FromBody] string value)
{
}
// DELETE api/<controller>/5
public void Delete(int id)
{
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
namespace SimpleWebApi
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API の設定およびサービス
// Web API ルート
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "ValuesApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
}
(ASP.NETアプリケーションルートURL)/api/Default/
をWebブラウザのアドレスバーに入力してアクセスします。DefaultController
で作成しているため、Controllerの手前の Default
がコントローラー名になります。<ArrayOfstring xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<string>value1</string>
<string>value2</string>
</ArrayOfstring>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
namespace SimpleWebApi.Controllers
{
public class MyItem
{
public int ID { get; set; }
public string Name { get; set; }
public int Price { get; set; }
}
public class DefaultController : ApiController
{
public MyItem[] Get()
{
MyItem m1 = new MyItem() { ID = 1, Name = "ぺんぎんクッキー", Price = 130 };
MyItem m2 = new MyItem() { ID = 2, Name = "らくだキャラメル", Price = 85 };
MyItem m3 = new MyItem() { ID = 3, Name = "かるがもビスケット", Price = 220 };
return new MyItem[]{ m1,m2,m3};
}
}
}
public class MyItem
{
public int ID { get; set; }
public string Name { get; set; }
public int Price { get; set; }
}
public MyItem[] Get()
{
MyItem m1 = new MyItem() { ID = 1, Name = "ぺんぎんクッキー", Price = 130 };
MyItem m2 = new MyItem() { ID = 2, Name = "らくだキャラメル", Price = 85 };
MyItem m3 = new MyItem() { ID = 3, Name = "かるがもビスケット", Price = 220 };
return new MyItem[]{ m1,m2,m3};
}
(ASP.NETアプリケーションルートURL)/api/Default/
をWebブラウザのアドレスバーに入力してアクセスします。<ArrayOfMyItem xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/SimpleWebApi.Controllers">
<MyItem>
<ID>1</ID>
<Name>ぺんぎんクッキー</Name>
<Price>130</Price>
</MyItem>
<MyItem>
<ID>2</ID>
<Name>らくだキャラメル</Name>
<Price>85</Price>
</MyItem>
<MyItem>
<ID>3</ID>
<Name>かるがもビスケット</Name>
<Price>220</Price>
</MyItem>
</ArrayOfMyItem>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
namespace SimpleWebApi.Controllers
{
public class DefaultController : ApiController
{
public string Get()
{
return "Penguin";
}
}
}
Get()
GetItem()
GetPenPen()
いずれの名称でも構いません。(ASP.NETアプリケーションルートURL)/api/Default/
をWebブラウザのアドレスバーに入力してアクセスします。"Penguin"