应用API优先的方法意味着设计API时,使其具有一致性和适应性,无论应用于哪些开发项目.对API使用API​​描述语言(如OpenAPI)是关键,因为它有助于建立API与其他程序通信的枢纽,即使这些系统各自的语言不同.当然,API不存在于单独的真空中,因此与其利益相关者的协作和规划对于设计过程同样重要,设计过程早在任何代码实际编写之前就开始了.简而言之,实施API优先的策略需要你在设计流程开始前就已经确定下了. 为什么API优先设计很重要? 传统上,一旦发现问题并且有人意识到新系统能够提供必要的…
我在API设计中收到的最常见问题之一就是如何对API进行版本控制.虽然并非所有API都完全相同,但我发现在API版本控制方面,某些模式和实践适用于大多数团队.我已经将这些内容收集起来,下面将提供一些关于版本控制策略的建议,该策略将帮助大多数API提供商,无论他们是向内部署API,还是对外的API. API版本真的那么重要吗? API是你与API使用者之间建立的纽带.正常情况下,你们之间的纽带不会轻易的断开.纽带包括URI模式,有效负载结构,字段和参数名称,预期行为以及其他内容.这种方法的最大好处…
在过去的几年里,全球API经济在以难以置信的速度进行快速地增长.物联网.人工智能.自动驾驶等等众多令人充满期待的技术正蓬勃发展,这也证明了API对于如今整个技术圈子的重要性,也预示着在不久的将来它还将变得更加重要. 在过去的概念中,API的设计是以使用者为中心进行的,相当于是企业已经开发出了一个有着大量数据的程序,然后以API的形式向所有开发者提供服务.然而在近几年,有企业在WEB端和移动端的开发方式上有所改变——越来越多的企业选择了“API优先”的软件开发策略,而这种策略为他们带来了巨大的优势…
一旦API发生变化,就可能对相关的调用者带来巨大的代价,用户需要排查所有调用的代码,需要调整所有与之相关的部分,这些工作对他们来说都是额外的.如果辛辛苦苦完成这些以后,还发现了相关的bug,那对用户的打击就更大.如果API经常发生变化,用户就会失去对提供方失去信心,从而也会影响目前的业务. 但是我们为什么还要修改API呢?为了API看起来更加漂亮?为了提供更多功能?为了提供更好的性能?还是仅仅觉得到了改变了时候了?对于用户来说,他们更愿意使用一个稳定但是看起来不那么时髦的API,这并不意味着我们…
http://blog.csdn.net/horkychen/article/details/46612899 API的设计是软件开发中一个独特的领域.最主要的特殊点在于API是供开发者使用的界面,即Application Programmer Interfaces.类似于用户可以直接使用到的GUI的作用一样.所以相对于依据软件设计的原则,考虑用户的”体验”会更加重要. 许多著名的工具和库的作者都写过相关的著作,详细的论述他们在API上的设计与实现要点.下面的论述,就是从这些前人的工作成果中总结…
非常赞的四篇文章: Resource Naming Best Practices for Designing a Pragmatic RESTful API 撰写合格的 REST API JSON 风格指南 本篇阅读目录: 1. HTTP Methods 2. JSON API 命名规则 3. API URI design 4. WebAPI 使用 snake_case 还是 camelCasing? 1. HTTP Methods HTTP 常用方法: GET: 获取某个资源. POST: 创…
相关文章:RESTful API URI 设计的一些总结. 问题场景:删除一个资源(Resources),URI 该如何设计? 应用示例:删除名称为 iPhone 6 的产品. 是不是感觉很简单呢?根据应用示例,我们用代码实现下: public class ProductsController : ApiController { [HttpDelete] [Route("api/products")] public async Task<HttpResponseMessage&g…
相关的一篇文章:RESTful API URI 设计的一些总结. 问题场景:判断一个资源(Resources)是否存在,URI 该如何设计? 应用示例:判断 id 为 1 用户下,名称为 windows 10 的产品是否存在? 如果这个问题出现在 MVC 项目中,我想我们一般会这样设计: public class ProductService { public async Task<bool> IsExist(int userId, string productName) { .... } }…
Atitit.会员卡(包括银行卡)api的设计 1. 银行卡的本质是一种商业机构会员卡1 2. 会员卡号结构组成1 2.1. ●前六位是:发行者标识代码 Issuer Identification Number (IIN).1 2.2. ●中间的位数是:个人账号标识(从卡号第七位开始)6-12位数字2 2.3. ●最后一位位数是校验位2 2.4.  将卡号前面的数字采用Luhn算法计算出信用卡或者借记卡的最后一位数字.2 3. 银行卡号校验 (Luhn算法)2 4. LUHN公式2 4.1. 计…
在Web API接口的开发过程中,我们可能会碰到各种各样的问题,我在前面两篇随笔<Web API应用架构在Winform混合框架中的应用(1)>.<Web API应用架构在Winform混合框架中的应用(2)--自定义异常结果的处理>也进行了总的介绍,在经过我的大量模块实践并成功运行后,总结了这篇随笔,希望对大家有所帮助. 1.在接口定义中确定MVC的GET或者POST方式 由于我们整个Web API平台是基于MVC的基础上进行的API开发,因此整个Web API的接口,在定义的时…