使用属性从 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
}
因为路由框架在选择方法时采用最具体的条件(数据类型)