使用屬性從 GET 返回 JSON

1.在(App_Start/WebApiConfig)的 Register 中設定格式化程式和路由

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        GlobalConfiguration.Configuration.Formatters.Clear();
        GlobalConfiguration.Configuration.Formatters.Add(new JsonMediaTypeFormatter());

        config.MapHttpAttributeRoutes();
    }
}

2.在 ApiController 中建立方法

public class HelloWorldController : ApiController
{
  [HttpGet]
  [Route("echo/{message}")]
  public IHttpActionResult Echo(string message) {
    return Ok(new{ hello: message });  
  }

  [HttpGet]
  [Route("echo/{digits:int}")]
  public IHttpActionResult Echo(int digits) {
    return Ok(new{ hello: digits });  

}

執行 GET /echo/foo

{
  "hello": "foo"
}

執行 GET /echo/1241290805

{
  "hello": 1241290805
}

因為路由框架在選擇方法時採用最具體的條件(資料型別)