1、WebAPI的基本概念。
WebAPI是一种基于HTTP协议的网络应用程序接口,它使用JSON或XML格式来传输数据。WebAPI是服务器端应用程序,允许客户端应用程序通过HTTP请求来访问服务器上的数据。WebAPI支持RESTful服务,是构建这种服务的理想选择。同时,WebAPI的客户端系统和服务系统彼此独立,调用者可以使用不同的语言(如Java、Python、Ruby等)进行API的调用。
2、与WebService、WCF等技术的区别与联系。
2.1、WebAPI与WebService的区别
数据传输格式:虽然WebService也支持基于XML格式的数据传输,但在实际生产过程中,WebAPI更常见的数据类型格式是JSON。与XML相比,JSON更加轻量,序列化和反序列化的工作量更少,因此在解析速率方面更快,对带宽的要求更低。
交互方式:WebService基于SOAP协议,而WebAPI使用json数据来传递信息,更加轻量化地构建HTTP服务框架。
系统交互:WebService通常仅在两个系统之间交互,并且不同的客户端下各浏览器对XML的解析方式不一致,需要重复编写很多代码。而WebAPI的客户端系统和服务系统彼此独立,具有更广泛的适用性。
2.2、WebAPI与WCF的区别
框架与开放性:WCF是附带.NET框架的,不是开源的;而WebAPI是开源的,并且也附带.NET框架。
服务支持:WCF提供对有限RESTFUL服务的支持;而WebAPI是构建RESTFUL服务的理想选择。
配置方式:WCF使用web.config和属性来配置一个HttpConfiguration类;而WebAPI则主要使用web.config服务进行配置。
编程模型:WCF依赖于基于属性的编程模型;而WebAPI将HTTP动词映射到方法。
功能支持:WCF不支持MVC功能,如控制器、路由、过滤器等;而WebAPI则与这些功能紧密集成。