API & Web API

API(应用程序编程接口)

  API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,

目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,

或理解内部工作机制的细节。

应用程序编程接口是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件

或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

Windows API其实就是微软提供的大量函数(以dll文件形式存在),供软件开发者调用。

这些函数的声明、参数、返回值的类型微软都有相关说明,开发者直接调用即可。

但这些函数事实上还是相当复杂的,通过直接调用这些函数来开发Windows应用程序,

极其繁琐且复杂,所以,微软、Borland等利用面向对象的技术,对其进一步封装,

封装成组件的形式(MFC、VCL等),并以可视化的编程方式,给软件开发者带来革命性的变革,

使软件开发效率大大提高。

Web API

  Web API是网络应用程序接口。包含了广泛的功能,网络应用通过API接口,

可以实现存储服务、消息服务、计算服务等能力,利用这些能力可以进行开发出强大功能的web应用。

可以对接各种客户端(浏览器,移动设备),构建http服务的框架。

Web API在ASP.NET完整框架中地位如下图,与SignalR一起同为构建Service的框架。Web API负责构建http常规服务。

Web API的主要功能

1. 支持基于Http verb (GET, POST, PUT, DELETE)的CRUD (create, retrieve, update, delete)操作

    通过不同的http动作表达不同的含义,这样就不需要暴露多个API来支持这些基本操作。

2. 请求的回复通过Http Status Code表达不同含义,并且客户端可以通过Accept header来与服务器协商格式,例如你希望服务器返回JSON格式还是XML格式。

3. 请求的回复格式支持 JSON,XML,并且可以扩展添加其他格式。

4. 原生支持OData。

5. 支持Self-host或者IIS host。

6. 支持大多数MVC功能,例如Routing/Controller/Action Result/Filter/Model Builder/IOC Container/Dependency Injection。

------------------------

部分内容摘自:https://www.cnblogs.com/guyun/p/4589115.html

原文地址:https://www.cnblogs.com/abcdecsf/p/9966427.html