.net WebApi

1.创建项目

2.配置路由--原始

3.启动项目

我们会发现并不能像MVC 那样 用Action 调用方法,且返回的提示数据为Xml,显然这不是我们想要的结果,此时我们需要修改上叙 的路由配

4.修改路由  --使其调用方式 符合想要的结果

    public static void Register(HttpConfiguration config)
    {
      // Web API 配置和服务

      // Web API 路由
      config.MapHttpAttributeRoutes();
    
      config.Formatters.Clear();
      config.Formatters.Remove(config.Formatters.XmlFormatter);
      config.Formatters.Add(new JsonMediaTypeFormatter());
      config.Formatters.JsonFormatter.SerializerSettings = new JsonSerializerSettings
      {
          DateFormatString = "yyyy-MM-dd HH:mm:ss",//解决json时间带T的问题
          Formatting = Newtonsoft.Json.Formatting.Indented,//解决json格式化缩进问题
          ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore//解决json序列化时的循环引用问题
      };
  
      config.Routes.MapHttpRoute(
          name: "DefaultApi",
          routeTemplate: "api/{controller}/{action}/{id}",
          defaults: new { id = RouteParameter.Optional }
      );
    }

5.测试  --符合预期

6.解决  -- 跨域问题

1   <system.webServer>
2     <httpProtocol>
3       <customHeaders>
4         <add name="Access-Control-Allow-Origin" value="*" />
5         <add name="Access-Control-Allow-Headers" value="*" />
6         <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE" />
7       </customHeaders>
8     </httpProtocol>
9   </system.webServer>

7.结束

后续  WebApi 传参 方式。。。

猜你喜欢

转载自www.cnblogs.com/lsw-asks/p/11234607.html