博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Web API简介
阅读量:2240 次
发布时间:2019-05-09

本文共 1429 字,大约阅读时间需要 4 分钟。

什么是Web API

官方解释:

  ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. ASP.NET Web API is an ideal platform for building RESTful applications on the .NET Framework.
  这里写图片描述
  在图上可以看出来,Web API 与SignalR一起同为构建Service的框架。Web API负责构建http常规服务,而SingalR主要负责的是构建实时服务,例如股票,聊天室,在线游戏等实时性要求比较高的服务。
  

为什么要用Web API

  Web API最重要的是可以构建面向各种客户端的服务。另外与WCF REST Service不同在于,Web API利用Http协议的各个方面来表达服务(例如 URI/request response header/caching/versioning/content format),因此就省掉很多配置。

功能简介

  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。

什么地方需要用Web API

当你遇到以下这些情况的时候,就可以考虑使用Web API了。

  1. 需要Web Service但是不需要SOAP
  2. 需要在已有的WCF服务基础上建立non-soap-based http服务
  3. 只想发布一些简单的Http服务,不想使用相对复杂的WCF配置
  4. 发布的服务可能会被带宽受限的设备访问
  5. 希望使用开源框架,关键时候可以自己调试或者自定义一下框架

Web API 与MVC的区别

  1. MVC主要用来构建网站,既关心数据也关心页面展示,而Web API只关注数据
  2. Web API支持格式协商,客户端可以通过Accept header通知服务器期望的格式
  3. Web API支持Self Host,MVC目前不支持
  4. Web API通过不同的http verb表达不同的动作(CRUD),MVC则通过Action名字表达动作
  5. Web API内建于ASP.NET System.Web.Http命名空间下,MVC位于System.Web.Mvc命名空间下,因此model binding/filter/routing等功能有所不同 最后,
  6. Web API非常适合构建移动客户端服务
你可能感兴趣的文章
笔记本怎么设置WIfi热点
查看>>
如何实现字符串的反转及替换?
查看>>
Java面试题全集(上)
查看>>
Java面试题全集(中)
查看>>
值传递和引用传递
查看>>
什么情况下用+运算符进行字符串连接比调用StringBuilder对象的append方法连接字符串性能更好?
查看>>
怎么根据Comparable方法中的compareTo方法的返回值的正负 判断升序 还是 降序?
查看>>
理解事务的4种隔离级别
查看>>
常用正则匹配符号
查看>>
建议42: 让工具类不可实例化
查看>>
Java 异步机制与同步机制的区别
查看>>
hibernate的对象三种状态说明
查看>>
什么是N+1查询?
查看>>
Spring 接管 Hibernate 配置 延迟加载
查看>>
找出不在预定数组中的自然数
查看>>
String常见面试题
查看>>
直插,快排,堆排,归并排序的分析
查看>>
二叉树的各种操作(面试必备)
查看>>
oracle
查看>>
泛型与通配符详解
查看>>