MVC4 WebAPIWord格式文档下载.docx
- 文档编号:17636474
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:11
- 大小:450.63KB
MVC4 WebAPIWord格式文档下载.docx
《MVC4 WebAPIWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《MVC4 WebAPIWord格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。
时,框架将自动为它提供OData查询支持——使其易于分页和排序。
(4)模型绑定和验证:
模型绑定器提供了一种简单的方法来从HTTP请求中的不同部分提取数据,并将这些信息部分转换为WebAPI行为可使用的.NET对象。
WebAPI支持相同的模型绑定和ASP.NETMVC现今支持的验证基础结构。
(5)路由:
WebApI支持完整的路由功能集。
现今ASP.NETMVC和ASP.NET也支持这一点,包括路线参数和约束。
默认情况下,WebAPI还提供了智能公约,使你能够轻松地创建实现WebApI的类,而无需不得不将属性应用到你的类或方法中。
WebAPI的配置纯粹是通过代码来实现的——保持你的配置文件干净。
(6)筛选器:
WebApI使你能够轻松地使用和创建筛选器(例如:
[授权]),那样你能够封装和应用交叉行为。
(7)改进的可测试性:
与其在静态文本对象中设置HTTP的详细信息,不如将WebAPI行为与HttpRequestMessage和HttpResponseMessage一起使用——两个新的HTTP对象(在其他内)使测试更容易。
例如,你可以单元测试你的WebApI,而无需不得不使用Mocking框架。
(8)IoC支持:
WebAPI支持由ASP.NETMVC实现的服务定位器模式,使你能够解决不同设备的依赖。
你可以轻松地使用IoC容器或依赖注射架构来集成,以保持干净的依赖解决方案。
(9)灵活的托管:
WebApI可以托管在任何类型的ASP.NET应用程序内(包括这两个基于应用程序的ASP.NETMVC和ASP.NETWebForms)。
我们还设计了WebAPI支持,这样,你还可以选择在你自己的进程内托管/公开它们,如果你不想使用ASP.NET/IIS来这样做。
至于你如何以及在哪儿使用它,这给了你最大的灵活性。
3.创建一个WebAPI程序
启动VS2012创建一个新项目,在已经安装的模板中选择ASP.NETMVC4WebAPI程序
在ASP.NETMVC项目对话框中选择WebAPI项,点击确定
创建成功之后工程中会自动添加一个WebAPI服务控制器,上面并附带访问地址
项目解决方案,选择Models文件夹右键添加一个Model类
代码如下:
namespace
Git.Framework.WebAPI.Models
{
public
class
Contact
int
ID
{
get;
set;
}
string
Name
Sex
DateTime
Birthday
Age
}
}
工程解决方案选择Controllers文件夹右键添加一个新的WebAPIcontroller
在添加控制器弹出对话框中选择模板:
空API控制器
控制器中添加如下代码:
Git.Framework.WebAPI.Controllers
ContactController
:
ApiController
Contact[]
contacts
=
new
Contact(){
ID=1,
Age=23,
Birthday=Convert.ToDateTime("
1977-05-30"
),
Name="
情缘"
Sex="
男"
},
ID=2,
Age=55,
1937-05-30"
令狐冲"
ID=3,
Age=12,
1987-05-30"
郭靖"
ID=4,
Age=18,
1997-05-30"
黄蓉"
女"
};
///
<
summary>
/api/Contact
/summary>
returns>
/returns>
IEnumerable<
Contact>
GetListAll()
return
contacts;
/api/Contact/id
param
name="
id"
>
/param>
Contact
GetContactByID(int
id)
contact
contacts.FirstOrDefault<
(item=>
item.ID==id);
if
(contact
==
null)
throw
HttpResponseException(HttpStatusCode.NotFound);
contact;
根据性别查询
/api/Contact?
sex=女
sex"
GetListBySex(string
sex)
contacts.Where(item
=>
item.Sex
sex);
}}
4.浏览器访问API路径
ControllerMethed
URI
GetListAll
GetListBySex
"
sex="
+sex
GetContactByID
/api/Contact/"
+id
在IE浏览器中浏览出现如下效果
如果在Chrome或者FireFox中浏览会先下如下效果
5.Javascript访问WebAPI
在项目中添加一个AboutView视图
@{
Layout
null;
!
DOCTYPE
html>
head>
meta
viewport"
content="
width=device-width"
/>
title>
About<
/title>
script
type="
text/javascript"
src="
/Scripts/jquery-1.7.1.min.js"
/script>
text/ecmascript"
$(document).ready(function
()
$("
#btnAll"
).click(function
$.getJSON("
/api/Contact"
function
(data)
var
html
ul>
;
$(data).each(function
(i,
item)
+=
li>
+item.ID+"
+item.Name+"
+item.Sex+"
/li>
});
/ul>
#contactAll"
).html(html);
#btnID"
id
#txtID"
).val();
+id,
+
item.ID
item.Name
#contactID"
#btnSex"
sex
#ddlSex"
sex,
#contactSex"
/head>
body>
p>
input
button"
id="
btnAll"
value="
查询所有"
&
nbsp;
/p>
text"
txtID"
btnID"
根据ID查询"
select
ddlSex"
option
男<
/option>
女<
/select>
btnSex"
根据性别查询"
div
contactAll"
/div>
contactID"
contactSex"
/body>
/html>
运行结果效果图
6.WebAPI总结
1.WebAPI控制器(Controller)继承ApiController
2.Api的UrlMap:
api/{controller}/{id}每个"
Action"
是通过Http谓词(GET/POST/PUT/DELETE)映射的
3.客户端可以通过HttpHeader的Accept指定返回数据的格式。
默认是支持:
appliction/xml和application/json,当想返回比如image/jpeg这样的图片格式时,需要添加MediaTypeFormatter
。
比如:
当指定某个Task时,通过指定Accept:
image/jpeg获取该Task的图片信息。
(后面详细介绍)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MVC4 WebAPI