1. 在设计api时我们经常会使用关联数组,例如:我要返回给客户端主题信息和主题包列表 原始数组格式 $arr = array( 100=>array('themeName'=>'a','files'=>array('1.jpg','2.jpg')), 200=>array('themeName'=>'b','files'=>array('1.jpg','2.jpg')), 300=>array('themeName'=>'c','files'=>ar…
Web API核查表:设计.测试.发布API时需思考的43件事   当设计.测试或发布一个新的Web API时,你是在一个原有的复杂系统上构建新的系统.那么至少,你也要建立在HTTP上,而HTTP则是基于TCP/IP创建的.TCP/IP建立在一系列的管道上.当然,你也需要考虑Web服务器.应用程序框架或者是API框架. API从设计到测试以至最终的发布需要经历一个漫长的过程,本文将主要探讨Web API从设计到最终发布,开发者可能忽略或者应该注意的东西. HTTP篇 HTTP 1.1规范RFC2…
原文:如何为非常不确定的行为(如并发)设计安全的 API,使用这些 API 时如何确保安全 .NET 中提供了一些线程安全的类型,如 ConcurrentDictionary<TKey, TValue>,它们的 API 设计与常规设计差异很大.如果你对此觉得奇怪,那么正好阅读本文.本文介绍为这些非常不确定的行为设计 API 时应该考虑的原则,了解这些原则之后你会体会到为什么会有这些 API 设计上的差异,然后指导你设计新的类型. 本文内容 不确定性 API 用法指导 同一个上下文仅能查看或修改…
说到框架设计,打心底都会觉得很大很宽泛,而 API 设计是框架设计中的重要组成部分.相比于有很多大佬都认可的面向对象的六大原则.23 种常见的设计模式来说,API 设计确实缺少行业公认的原则或者说设计范式. 不过,没有公认不代表没有.无论是对外提供类库还是提供 url 形式的 API,为了使用者良好的使用体验,依然也是有可以借鉴和参考的经验的. 本文使用 多种语言 编写,请选择你喜欢的语言: 中文: 好的框架需要好的 API 设计 —— API 设计的六个原则 - walterlv Englis…
app和后端的交互,一般都是通过后端提供的api实现.api的设计,估计很多刚进入app后端的小伙伴会一无头绪,不知道怎么入门.下面根据自己3年的app后端经验,总结出下几个api设计原则,给小伙伴参考. 1. 什么是api? 这个问题在以前发表的文章"7.app和app后端的通讯"中其实已经回答了,这里再重复一次. 相信大家都用过银行的柜员机(ATM)的查询余额,转帐,取款等操作. 当在柜员机取款的时候,我们输入要取款的金额,隔一会钱就出来了,如果因为有什么问题不能取款(例如超过取款…
要描述了几种API版本控制的方法.用户可以查询原始的API,或者添加定制的头文件来接收特定的版本.如果应用程序收到一个重大修订,将URI修改为V2.在进行迭代改进时,将创建与更改日期相一致的端点,并允许用户将日期信息附加.然后,可以选择保留旧版本的时间.而且在设计和版本化API时,您可以应用许多不同的理念.以下为译文 API设计是一个“火辣热门”的话题!关于API的最佳结构和版本的方法已经有很多优秀的文章介绍过了.在这篇文章中,我们将会深入研究不同的API设计之间有哪些冲突的地方,并在此基础上提…
前言 flask框架默认的路由和视图函数映射规则是通过在视图函数上直接添加路由装饰器来实现的,这使得路由和视图函数的对应关系变得清晰,但对于统一的API开发就变得不怎么美妙了,尤其是当路由接口足够多的时候,可读性会变差.flask_restful可以使我们像Django那样统一在一个地方设计所有的API规则. flask_restful 安装 pip install flask_restful 初始化 # __init__.py from flask import Flask, current_…
Atitit.自定义存储引擎的接口设计 api 标准化 attilax 总结  mysql 1. 图16.1:MySQL体系结构1 2. 16.7. 创建表create()虚拟函数:2 3. 16.8. 打开表 open()2 4. ---------------------------------------------------------------------------------------------------------------------2 5. 16.9. 实施基本的…
题外话 在新的项目中,推行了swagger用于对API的设计.以期待解决我们上篇博客中说到了一些现象,提升工作效率.那么,结合到当时和全项目组成员做培训,以及后续的给主要应用者做培训,以及当初自己接触到swagger的时候,我简单总结一下如何设计一个说"人"话的API(主要指rest API). 备注:哈哈,又托大了哈.就在我决定写这篇文章的时候,我特意到百度搜了一下"如何设计API",额,还是决定凑凑热闹! 如何设计API呢,原则就是:KISS. 让你的API学会…
设计 api, url 的原则 做微信公众号的项目,账号体系使用微信的 openid.现在增加需求,要求适应 web 端--做成普通的 web 项目.然后 url 的变化:我想给现有的 url 加上 /web/ 前缀,从而区分客户端是微信还是普通浏览器. 参考 http://www.informit.com/articles/article.aspx?p=1566460 阮一峰 api 设计原则…