.net WebApi开发

1】.部署环境.net4及以上版本。

【2】.vs2010  开发需单独安装vs2010 sp1和mvc4

mvc4:http://www.asp.net/mvc/mvc4

          或者 http://down.51cto.com/data/969436

【3】.开发

1.新建项目选择ASP.net MVC 4 Web应用程序

2.选择Web API

 

3.在新建立的项目里面有已经生成的webapi模版

其中App_Start文件夹下WebApiConfig.cs和RouteConfig.cs文件主要配置api的路由信息。

Controllers文件夹下的文件为api的实现文件。其中ValuesController.cs是示例api文件。

4.新建自己的webapi文件。

在Controllers文件夹上单击鼠标右键,添加--控制器,我们新建一个TestApiController.cs的文件。其中TestApi是我们的Controller的名称在路由中使用。

5.我们新加入两个Get方法api,一个带参一个不带参

 

6.在WebApiConfig.cs文件中配置路由路径:routeTemplate: "api/{controller}/{Action}/{id}",

然后运行项目我们在地址栏中输入

 

controller:TestApi

action:我们写的方法名

id:传入的参数

 

7.同样我们可以写入Post方法等等。

 

 

WebApi的Get访问方式比较简单,我们可以通过浏览器url地址直接访问。

但是Post方式比较麻烦,我们可以通过html的form提交post值,当然也可以在PostData里面直接传值。在IOS和Android开发中常用PostData

从在可以端调去[FromBody]类api的时候在传入的参数前一定要加一个“=”号。不然返回是null。

从PostData传入的参数我们以Request来接收,当然可以接收string  data等类型。

string postData =  Request.Content.ReadAsStringAsync().Result;

 

 

 

    public class TestApi2Controller : ApiController
    {
        ///无参数Post
        public string PostAaa()
        {
            return "hellowrold";
        }

        //有参数从form中传入   id:"=hellowrold"
        public string PostFromId([FromBody]string id)
        {
            return id;
        }
        //PostData传值
        public string PostFromPosData()
        {
            string postData =  Request.Content.ReadAsStringAsync().Result;
            return postData;
        }

    }


WebApi 技巧

1.返回参数去掉xml格式,以纯json格式返回。在WebApiConfig.cs文件中配置

 

        public static void Register(HttpConfiguration config)
        {
            //设置不以xml格式返回
            config.Formatters.Remove(config.Formatters.XmlFormatter);
            ///
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }

 

2.返回json去掉双引号

 

//JavaScriptSerializer类在System.Web.Extensions.dll中,注意添加这个引用
  JavaScriptSerializer serializer = new JavaScriptSerializer();
//JSON序列化
  string result = serializer.Serialize(list);
//格式化Json引号""
  var respRet = new HttpResponseMessage { Content = new StringContent(result, System.Text.Encoding.UTF8, "application/json") };
  return respRet;

转载于:https://www.cnblogs.com/ai594ai/p/6100361.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值