初识Asp.netCore RESTful WebApi

1、背景:

  因公司产品须要支持跨平台,开发团队便围绕这一目的开展学习,本人先展开了对Asp.netCore RESTful WebApi接口的学习与认知。git

2、简单的概念:

    一、要学习RESTful WebApi首先得知道什么是rest?github

       REST的全称:Representational State Transfer,表述性状态转移;api

       REST是一种架构风格,不是标准。由RoyFielding博士大约在2000年左右提出。它是一种针对网络应用的设计和开发方式,能够下降开发的复杂性,提升系统的可伸缩性;缓存

       REST须要使用一些规范、协议或标准来实现这种架构风格,并且REST与协议无关。JSON并非REST强制的,甚至Http都不是REST强制使用的,但这也仅仅是从理论上来看。服务器

    二、认识RESTful API网络

      经过查询总结有如下几点:架构

       ①知足这REST约束条件和原则的应用程序或设计就是 RESTful;学习

       ②符合REST约束的API就叫RESTful API;.net

       ③大多部的WebAPI并非RESTfulAPI;设计

       ④在实际开发中不少WebAPI仍是无法符合RoyFielding博士提出的这套风格。

    三、RESTful API有什么特色?

      特色:

       ①每个URI表明1种资源;

       ②客户端使用GET、POST、PUT、DELETE4个表示操做方式的动词对服务端资源进行操做:GET用来获取资源,POST用来新建资源(也能够用于更新资源),PUT用来更新资源,DELETE用来删除资源;

       ③经过操做资源的表现形式来操做资源;

       ④资源的表现形式是XML或者HTML(或其它);

       ⑤客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每一个请求都必须包含理解请求所必需的信息。

     四、RESTful的六个约束:

        1.客户端-服务器;2.无状态;3.可缓存;4.分层系统;5.统一接口;6.按需代码(可选择)。若是任何一个服务违背了其中一个原则(第6个可选),将不能被称做 RESTful 系统。

3、WebAPI的简单认知

      一、概念:WebAPI一般是指“使用Http协议并经过网络调用的API”,因为它使用了Http协议,因此须要经过URI信息来指定端点,WebAPI就是一个Web系统,经过访问URI能够与其进行信息交互。

      二、WebAPI对外合约的一些基本原则(在设计时尽可能知足)

        ①使用名词,而不是动词;如:错误用法:api/getUsers  正确:GET api/users。

        ②人类能读懂;如:错误:api/us  正确:GET api/users   //简短友好
 
        ③路由模板要体现资源的结构/关系。如:错误:api/{userid}/user  正确:GET api/users/{userid}

总结:以上仅仅是我的在学习过程当中简明扼要的总结,还有许多诸如路由模板配置、如何搭建一个简单的WebAPI、如何全面了解一个请求体以及各类请求返回的错误码表明什么含义等等。

此外简单了解完WebAPI概念以后,感兴趣的还能够进一步了解OpenAPI(https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.3.md),OpenAPI在各个领域的应用也很是普遍,使用频率也颇高。

相关文章
相关标签/搜索