1. 争取相容性和统一性 这里就要求让API设计得是可预测的.按照这种方式写出所有接口和接口所需要的参数.现在就要确保命名是一致的,接口所需的参数顺序也是一致的.你现在应该有products,orders和customers的数据吧?,它们应该都存在含有id和name的表中.那么不要让一个接口仅传ID而另一个仅传name还有的两个都要传.也不要让一个接口按照/product/ID传参而另一个接口按/ID/customer这样传参.因为作为一个API的使用者我希望以相同的方式访问两个不同的资源.…
前言 移动互联网时代,RESTful API成为越来越重要的移动端和服务器端交互的形式.尤其是在很多互联网公司或者传统行业拥抱移动互联网的时候,一套设计良好的Restful API能够帮助互联网产品支持单服务端+多客户端的场景.RESTful架构本身是一个风格而不是一个标准,这也就意味着在具体设计时会有不同的实现.那么什么是好的RESTful API呢?笔者认为适合的是最好的,能够根据本身产品的业务场景和阶段设计出结构清晰,易于理解,扩展方便的Restful API 就是最好的. 1. 什么是R…
前言 如果没有做过开发,研发过产品的人,很难体会做产品的艰难,刚进公司的人,一般充当的是程序开发,我这里说的是开发,它与研发是有区别的. 一个需求下来,如果不能很好地理解产品需求,如果不能很好的驾驭需求实现的逻辑,肆意的根据理解去做技术方面的架构和编码,等到后来发现了不对了再去修改就特别麻烦. 所以我们在实现产品需求时,每一个功能需求,不管是大还是小,都要想商量清楚了,我们在采取编码. 言归正转,那么整个过程一款产品从想法-开发-上线-产品都经历了哪些? 希望能给大家一个好的借鉴作用,总结的不好…
一.为什么需要注册和登录? 是否需要注册和登录的关键取决于产品形态. 如果用户注册登录对于用户需求.产品功能.商业模式本身带不来任何价值的话,就没必要设计这样的功能.比如一些实用工具类的产品:计算器.手电筒.无社交属性的天气预报等等. 其它像强社交需求的产品(微信).涉及到较多用户财产安全的产品(支付宝).用户对信息使用比较关注的产品(邮箱)等,都需要账户体系的支持,自然也就需要注册和登录. 二.注册和登录的意义 1.从用户的角度而言,注册和登录功能是: 个体身份的映射,代表自己独立的存在: 保…
对于初学者来说,对Token和Session的使用难免会限于困境,开发过程中知道有这个东西,但却不知道为什么要用他?更不知道其原理,今天我就带大家一起分析分析这东西. 一.使用Token进行身份鉴权 网站应用一般使用Session进行登录用户信息的存储及验证,而在移动端使用Token则更加普遍.它们之间并没有太大区别,Token比较像是一个更加精简的自定义的Session.Session的主要功能是保持会话信息,而Token则只用于登录用户的身份鉴权.所以在移动端使用Token会比使用Sessi…
2.1 從App業務邏輯中提煉API接口 業務邏輯思維導圖 功能-業務邏輯思維導圖 基本功能模塊關系 功能模塊接口UML(設計出API) 在設計稿標注API 編寫API文檔 2.2 設計API的要點 根據對象設計API API的命名 API的安全性 API所返回的數據:禁止返回Null值 圖片的處理:圖片數據庫保存原圖,在App客戶端本地緩存圖片不存在時,按圖片尺寸向服務端請求動態生成. 返回的提示信息:給用戶看的提示和給程序員看的提示. 在線API測試文檔:使用Swagger-UI搭建,按TD…
理解RESTful架构 Restful API设计指南 理解RESTful架构 越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency).高并发等特点. 网站开发,完全可以采用软件开发的模式.但是传统上,软件和网络是两个不同的领域,很少有交集:软件开发主要针对单机环境,网络则主要研究系统之间的通信.互联网的兴起,使得这两个领域开始融合,现在我们必须考虑,如何开发在互联…
restful是前端和后端接口中都会使用的设计思想. 网站即软件,我们也常说的webapp,这种互联网软件采用的是“客户端/服务器”模式,建立在分布式体系上. 网站开发,也可以完全采用软件开发的模式,但是传统上软件和网络还是不同的领域,因为: 软件开发主要针对单机环境,而网络是研究系统之间的通信. 互联网的兴起,使得这两个领域开始融合,现在我们开始考虑,如何开发在互联网环境中使用的软件. RESTful架构,就是目前最为流行的一种互联网软件架构,它结构清晰.符合标准.易于理解.扩展方便,所以正得…
前言: 在移动互联网的大潮中, Web Restful API逐渐成为Web Server重要的一个分支. 移动端和服务端的交互, 主流的方式还是通过Http协议的形式来进行. 请求以Get/Post方式, 响应以json(数据更小巧且自描述能力强)的方式占据主流. 各大互联网公司, 对自身的Web Api设计有各自的标准. 本文主要讲述主流的几种, 并对web server的基础架构做个简单的描述. 百度云实现方案: 百度移动云事业部的对云服务的Web Api借鉴了亚马逊的AWS实现方案. 具…
http://blog.jobbole.com/41233/ 背景 目前互联网上充斥着大量的关于RESTful API(为方便,下文中“RESTful API ”简写为“API”)如何设计的文章,然而却没有一个”万能“的设计标准:如何鉴权?API 格式如何?你的API是否应该加入版本信息?当你开始写一个app的时候,特别是后端模型部分已经写完的时候,你不得不殚精竭虑的设计和实现自己app的public API部分.因为一旦发布,对外发布的API将会很难改变. 在给SupportedFu设计API…