ASP.NET-WebAPI

ASP.NET-WebAPI

官方文档: https://msdn.microsoft.com/zh-cn/library/hh833994(v=vs.108).aspx 

一、相关概念和简单API的使用

1、什么是ASP.NET-WebAPI?

ASP.NET Web API是一种框架,用于轻松构建可以访问多种客户端(包括浏览器和移动设备)的HTTP服务。ASP.NET WebAPI是一种用于在 .NET Framework上构建RESTful应用程序的理想平台

2.关于RESTful的理解

 1、REST是英文representational state transfer(表象性状态转变)或者表述性状态转移;Rest是web服务的一种架构风格;使用HTTP、URI、XML、JSON、HTML等广泛流行的标准和协议;轻量级,跨平台,跨语言的架构设计,它是一种设计风格,不是一种标准,是一种思想。

 

 2、REST架构的主要原则

事务为对象,资源有统一,形式有多样(xml、json等)

每个资源都有一个唯一的资源标识符。

同一个资源具有多种表现形式(xml,json等)

对资源的各种操作不会改变资源标识符。

所有的操作都是无状态的

符合REST原则的架构方式即可称为RESTful 

 

3、什么是RESTful

 这种服务是面向资源服务开发的

4、为什么会出现RESTful?

在Restful之前写一个web请求,格式通常是这样的:

http://192.168.1.100/product/query/1  根据用户id查询商品

http://192.168.1.100/product/Add     新增商品

http://192.168.1.100/product/update  修改商品

http://192.168.1.100/product/delete   删除商品

 

Restful用法:

http://192.168.1.100/product/1  GET 根据用户id查询商品

http://192.168.1.100/product/ POST 新增商品

http://192.168.1.100/product/ PUT   修改商品

http://192.168.1.100/product/ DELETE  删除商品

Restful风格就是根据请求的类型(get、post、put、delete)来匹配对应的方法

 

MVC4.0中发布了第一个版本的WEBAPI

 

3、WebAPI2的基本使用与路由

1、通过代码演示

2、为什么要使用WebAPI的特性路由?

在实际开发中,http请求的方法可能是相同的(比如都是post请求),而且请求的参数也相同。这个问题就麻烦了,因为按照Restful的风格无法解决。大家可能想到自定义一个路由,比如可以增加action,但是在webAPI里面是不提倡的

3、解决方法

首先,启用特性路由。就可以使用特性路由。Get方式简单

4、post请求的规范

4.1无参数的post请求和get方式请求相同。只不过在客户端 $.get和$.post区别。同时只需要添加[httpPost]标记特性即可。

HttpGet通过消息头 <head> 传递参数。 HttpPost通过消息体(消息正文 <Body>)传递的

4.1 一个参数的POST请求

和get方式不一样,action(动作方法)参数上面必须添加[FromBody]标记,否则访问不到!同时WebAPI请求传递的参数,也有特定的格式。而这种格式并不是我们常见的 key-value格式。

WebAPI模型绑定器寻找的时候,并不是按照key查找,而是空字符串。[FromBody]修饰的参数形式只适合一个参数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值