zoukankan      html  css  js  c++  java
  • App接口设计原则-b

    1、记住密码不是真的让你记住密码,这里仅仅指的是一种自动登录的手段。不管在任何地方,明文存储的密码都是安全隐患,是必须尽量避免的。你可以采用某种方式对用户名、密码以及时间戳(重要)进行签名,再次登录时使用签名后的数据进行登录。

    2、客户端要包含超时机制,见过不止一次的服务端设计是通过客户端发送的userid来区分用户的。对此我真的已经无力吐槽了。最简单的办法是用session来记录用户状态。当然,考虑到客户端的特性,用户可能好几天都没有关闭一次,必须配合自动登录机制来保证客户端的在线。

    3、接口请求成功或失败,需要有明确的标识符来表示。并且对错误原因进行描述。同时因为客户端可能是多语言的,错误原因应该设计为errorCode,由客户端根据errorCode来显示成对应的语言。

    4、errorCode应该具有唯一性,例如登录超时使用10001,请求任意接口超时时都应该返回10001。方便客户端统一处理。

    5、接口设计应统一,不能出现在登录接口中用户名称为username,获取用户详情接口变成nickname的情况。客户端与服务端尽量采用相同的业务模型划分。接口中属性应按照业务模型的归属关系分层。 
    我们来看看下面两个接口 
    这里写图片描述 
    因为两个接口中都包含人物对象,则人物的属性名应该是相同的。 
    再如下图是对同一个接口的两种设计 
    这里写图片描述 
    左侧这个是符合我们的原则的,而右边不符合。我们并不是说右边的设计不好,只是左边更加符合客户端MVC的划分。因为作者本身也是一个“人物”的业务模型,当我们点击作者头像的时候,应该进入该作者的简介。这个简介界面与我在好友列表中进入的是同一个界面。从界面初始化参数上来看,我们只需要把“人物”模型传递进去就可以了。

    感谢大神

  • 相关阅读:
    PDF 补丁丁 0.4.1.820 测试版发布:统一PDF的页面尺寸
    PDF 补丁丁 0.4.1.804 测试版发布:合并文件夹的图片和PDF文件,自由生成多层次书签
    PDF 补丁丁 0.4.1.728 测试版发布
    PDF 补丁丁 0.4.1.688 测试版发布(请务必用其替换 682 测试版)
    Django的model form组件
    Django-admin管理工具
    django-debug-toolbar
    jQuery和js页面加载完成之后就执行的两种方法
    Python实现发送邮件
    cookie与session组件
  • 原文地址:https://www.cnblogs.com/isItOk/p/5648329.html
Copyright © 2011-2022 走看看