Web API 1:

需要环境(VS2010/.Net4.0/MVC4 )

http://www.asp.net/web-api/overview/creating-web-apis/creating-a-web-api-that-supports-crud-operations

Web API 2:

需要环境(VS2012or2013/.Net4.5/MVC5)

http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api

在一步步跟着实例编写代码的过程中所遇到的问题和需要注意的地方:

1.Web API 2需通过NuGet更新Microsoft.AspNet.WebApi,否则IHttpActionResult等新增的接口无法识别。

  PM> Install-Package Microsoft.AspNet.WebApi即可。

2.不同浏览器默认返回的数据格式不定。

  IE 和 FF 由于发送了不同的Request Header的 Accept 头,所以 web API 在响应时就发送了不同的内容类型。

  比如直接访问http://localhost:8382/api/products/1

  (1)火狐返回的是xml  

  <Product><Category>Groceries</Category><Id>1</Id><Name>Tomato Soup</Name><Price>1</Price></Product>

  accept头:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

  (2)IE返回的是json,弹出【文件下载】对话框。

  {"Id":1,"Name":"Tomato Soup","Category":"Groceries","Price":1.0}

  accept头:image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/x-ms-application, application/x-ms-xbap, application/vnd.ms- xpsdocument, application/xaml+xml, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*

 如果需要统一Web API 只返回Json, 可以参考:

  (1)http://www.cnblogs.com/acles/archive/2013/06/21/3147667.html

  (2)http://www.strathweb.com/2013/06/supporting-only-json-in-asp-net-web-api-the-right-way/

  (3)http://www.strathweb.com/2012/07/everything-you-want-to-know-about-asp-net-web-api-content-negotation/

3.在使用Fiddler 时,IE下无法识别localhost

  需通过http://localhost.:8382/api/products 来访问,即localhost 后面加上一个「小数点」。

[ASP.NET]初试Web API的更多相关文章

  1. ASP.NET MVC Web API Post FromBody(Web API 如何正确 Post)

    问题场景: ASP.NET MVC Web API 定义 Post 方法,HttpClient 使用 JsonConvert.SerializeObject 传参进行调用,比如 Web Api 中定义 ...

  2. 使用 Swagger 自动生成 ASP.NET Core Web API 的文档、在线帮助测试文档(ASP.NET Core Web API 自动生成文档)

    对于开发人员来说,构建一个消费应用程序时去了解各种各样的 API 是一个巨大的挑战.在你的 Web API 项目中使用 Swagger 的 .NET Core 封装 Swashbuckle 可以帮助你 ...

  3. 在ASP.NET Core Web API上使用Swagger提供API文档

    我在开发自己的博客系统(http://daxnet.me)时,给自己的RESTful服务增加了基于Swagger的API文档功能.当设置IISExpress的默认启动路由到Swagger的API文档页 ...

  4. Docker容器环境下ASP.NET Core Web API应用程序的调试

    本文主要介绍通过Visual Studio 2015 Tools for Docker – Preview插件,在Docker容器环境下,对ASP.NET Core Web API应用程序进行调试.在 ...

  5. 在docker中运行ASP.NET Core Web API应用程序

    本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过程中,也会对docker的使用进行一些简单的描述.对于.NET Cor ...

  6. ASP.NET Core Web API Cassandra CRUD 操作

    在本文中,我们将创建一个简单的 Web API 来实现对一个 “todo” 列表的 CRUD 操作,使用 Apache Cassandra 来存储数据,在这里不会创建 UI ,Web API 的测试将 ...

  7. 在Mac下创建ASP.NET Core Web API

    在Mac下创建ASP.NET Core Web API 这系列文章是参考了.NET Core文档和源码,可能有人要问,直接看官方的英文文档不就可以了吗,为什么还要写这些文章呢? 原因如下: 官方文档涉 ...

  8. ASP.NET MVC Web API For APP

    近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集成功能,以及通过在浏览器中使用 JavaScr ...

  9. [译]ABP框架使用AngularJs,ASP.NET MVC,Web API和EntityFramework构建N层架构的SPA应用程序

    本文转自:http://www.skcode.cn/archives/281 本文演示ABP框架如何使用AngularJs,ASP.NET MVC,Web API 和EntityFramework构建 ...

随机推荐

  1. AssetBundleMaster

    AssetBundleMaster is an integrated solution for build AssetBundle and load assets from AssetBundles ...

  2. PAT甲题题解-1044. Shopping in Mars (25)-水题

    n,m然后给出n个数让你求所有存在的区间[l,r],使得a[l]~a[r]的和为m并且按l的大小顺序输出对应区间.如果不存在和为m的区间段,则输出a[l]~a[r]-m最小的区间段方案. 如果两层fo ...

  3. Visual studio 2013 安装的漫长过程

    本周有一个任务是安装VS 2013版本,下载了安装包,七点多G,oh my god!!! 图上维持了两三个小时,可能我电脑台low了..... 因为是win7系统,需要进行重启电脑. 安装成功之后. ...

  4. 关于Python matplotlib显示汉字乱码问题

    我也是一个初学者,在今天编程时遇到的一个问题,我是基于Eclipse编写Python代码,在使用matplotlib进行数据可视化时,发现显示不了汉字并且出现乱码问题. (1)使用中文注释时报错: 解 ...

  5. 【Leetcode】378. Kth Smallest Element in a Sorted Matrix

    Question: Given a n x n matrix where each of the rows and columns are sorted in ascending order, fin ...

  6. 阿里云视频直播PHP-SDK接入教程

    阿里云视频直播PHP-SDK接入教程 阿里云 视频直播 配置 及 PHP-SDK 接入教程        准备工作        域名管理        配置鉴权        地址生成器及DEMO演 ...

  7. vue 有关框架

    iview-admin https://github.com/iview/iview-admin/ axios https://www.kancloud.cn/yunye/axios/234845

  8. windows文件共享 防火墙规则设置

    防火墙入站规则.完成以下两项设置即可. 设置一 操作:允许连接协议类型:UDP本地端口:137, 138远程端口:所有端口 设置二 操作:允许连接协议类型:TCP本地端口:139, 445远程端口:所 ...

  9. Java NIO 详解(一)

    一.基本概念描述 1.1 I/O简介 I/O即输入输出,是计算机与外界世界的一个借口.IO操作的实际主题是操作系统.在java编程中,一般使用流的方式来处理IO,所有的IO都被视作是单个字节的移动,通 ...

  10. MT【109】线面角最大时为二面角平面角

    解答:如图设C到$\alpha$面的距离为$d_1,C_1$到虚线距离为$d_2$ 所求距离$d=d_1+d_2=|AC|sin\theta+|CC_1|cos\theta=4\sqrt{2}sin\ ...