您的位置:首页 > 其它

.net webApi

2016-07-13 16:09 375 查看
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;

namespace MvcApi.Controllers
{
public class ProductController : ApiController
{
public class User
{
public string name { set; get; }
}

public Dictionary<string, object> GetList(string id)
{
Dictionary<string, object> list = new Dictionary<string, object>();
list.Add("id",id);
return list;
}

public Dictionary<string, object> PostList2(User name)
{
Dictionary<string, object> list = new Dictionary<string, object>();
list.Add("name",name.name);
return list;
}
}
}

方法名以post开头的接收POST请求,Get开头的接收GET请求,默认GET;

接收post请求的方法参数必须是实体类:

public class User
{
public string name { set; get; }
}


访问URI:http://localhost:15172/api/Product/PostList2
http://url/api/控制器/方法名/参数
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;

namespace MvcApi
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
}


默认返回格式是XML,返回json格式需要在Global.asax.cs里添加:

GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;

namespace MvcApi
{
// 注意: 有关启用 IIS6 或 IIS7 经典模式的说明,
// 请访问 http://go.microsoft.com/?LinkId=9394801
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();

WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();}
}
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  .net