Android 开发中的接口文档

原文地址:http://blog.csdn.net/lovoo/article/details/51756120


接口文档


  1. HTTP部分
  2. Socket自定义协议

Http部分

全局规范


  • URL

    URL的组成:基本的网络地址 + 分支节点

    http://127.0.0.1:8080/chat 为 基本的网络地址

    /login 为 分支节点

    http://127.0.0.1:8080/chat/login 组成完整的 URL

    当前统一的基本网络地址为 http://127.0.0.1:8080/ChatServer

  • 请求方式

    POST

    GET

    PUT

  • 请求消息头

    键值对(key value形式)

  • 请求参数

    键值对(key value形式)

  • 响应的状态码

    统一的返回码为: 200 (注:只要访问服务器成功,一律返回200)

  • 响应的格式

    Json

  • 响应的JSON规范

    • 成功

      {flag:true, data:...}
      

      成功的标记为 flag 为 true

      根据具体的请求,如果需要返回值 data节点 包含的是 返回结果

      不需要需要返回值 ,则没有data节点

    • 失败

      {flag:false, errorCode:1, errorString:"错误原因"}
      

      失败的标记为 flag 为 false

      flag 为 false时,必然返回 errorCodeerrorString 节点

      errorCode说明了错误编码

      errorString说明错误原因


Login(登录接口)


  • 分支节点 : /login

  • 请求方式 : POST

  • 请求参数 :

    key类型说明
    accountString用户的账号
    passwordString用户的密码
  • 响应结果 :

    • 成功

      {
          "flag": true,
          "data": {
              "account": "zhangsan",
              "name": "张三",
              "sex": 1,
              "icon": "/a/b/zhangsan.png",
              "sign": "我的个性签名",
              "area": "深圳",
              "token": "5904c7ae-3e75-48c8-bbee-ad094533a422"
          }
      }       
      
    • 失败

      errorCodeerrorString
      100用户密码错误
      101用户不存在

Regisger(注册接口)


  • 分支节点 : /register

  • 请求方式 : POST

  • 请求参数 :

    key类型说明
    accountString用户注册的账号
    passwordString用户注册的密码
  • 响应结果 :

    • 成功

      {
          "flag": true,
          "data": {
              "account": "zhangsan",
              "name": "张三",
              "sex": 1,
              "icon": "/a/b/zhangsan.png",
              "sign": "我的个性签名",
              "area": "深圳",
              "token": "5904c7ae-3e75-48c8-bbee-ad094533a422"
          }
      }       
      
    • 失败

      errorCodeerrorString
      150用户已经存在

搜索用户接口


  • 分支节点 : /user/search

  • 请求方式 : POST

  • 请求消息头 :

    key类型说明
    accountString用户的账号
    tokenString用户的唯一标识
  • 请求参数 :

    key类型说明
    searchString搜索的账号
  • 响应结果 :

    • 成功

      {
          "flag": true,
          "data": {
              "account": "zhangsan",
              "name": "张三",
              "icon": "/a/b/zhangsan.png",
              "sign": "我的个性签名",
              "area": "深圳"
          }
      }       
      
    • 失败

      errorCodeerrorString
      200用户不存在

接受用户用户邀请


  • 分支节点 : /friend/accept

  • 请求方式 : POST

  • 请求消息头 :

    key类型说明
    accountString用户的账号
    tokenString用户的唯一标识
  • 请求参数 :

    key类型说明
    invitorString邀请者的账号
    acceptorString接受者的账号
  • 响应结果 :

    • 成功

      {
          "flag": true
      }       
      
    • 失败

      {
          "flag": false
      }       
      

获取朋友列表


  • 分支节点 : /friend/list

  • 请求方式 : POST

  • 请求消息头 :

    key类型说明
    accountString用户的账号
    tokenString用户的唯一标识
  • 请求参数 : 无

  • 响应结果 :

    • 成功

      {
          "flag": true
      }       
      
    • 失败

      {
          "flag": false
      }       
      

用户名称修改接口


  • 分支节点 : /user/nameChange

  • 请求方式 : POST

  • 请求消息头 :

    key类型说明
    accountString用户的账号
    tokenString用户的唯一标识
  • 请求参数 :

    key类型说明
    nameString修改后的用户名
  • 响应结果 :

    • 成功

      {
          "flag": true
      }       
      
    • 失败

      {
          "flag": false
      }       
      

Sokect自定义协议

全局规范


  • 协议的定义

    1. 传输格式为json
    2. 协议分为 请求 和 响应
    3. 传输方向:

      client --> server : 发送消息

      server --> client : 推送消息

    4. 发送消息

      发送过程包含的两个过程:

      请求 : client 发送消息到 server

      响应 : server 响应 client 的这次消息请求

      两个过程 都完成 才算 当前消息发送成功

    5. 推送消息

      推送过程包含的两个过程:

      请求 : server 发送消息到 client

      响应 : client 响应 server 的这次消息请求

      两个过程 都完成 才算 当前消息发送成功

    6. 消息必备格式

      请求部分:

      {
          "sequence": "9f4c696e-9ab5-46cf-959c-b1e2e35200d2",
          "type": "request",
          "action": "text"
      }
      

      响应部分:

      {
          "sequence": "9f4c696e-9ab5-46cf-959c-b1e2e35200d2",
          "type": "response",
          "flag": "true"
      }       
      

      sequece : 标记 请求 和 响应,用来表明 响应 是 针对 哪次 请求

      type : 用来标记 是 请求 还是 响应

      action : 请求发送方 的 发送类型,由具体请求 决定取值。


Client 部分


Auth认证

  • Action : auth

  • 请求的 key-Value

    key类型说明
    typeString请求:request
    sequenceString请求的序列号
    actionString请求的行为:auth
    senderString发送者账号
    tokenString发送者token标志
  • 请求的json 格式:

    {
        "sequence": "9f4c696e-9ab5-46cf-959c-b1e2e35200d2",
        "type": "request",
        "action": "auth",
        "sender":"xxxx",
        "token":"xxxx"
    }
    
    {"sequence":"1","type":"request","action":"auth","sender":"iphone1","token":"0dce6f76ac1a29d276c0c6dabe60519c"}
    
  • 响应的json 格式:

    成功 :

    {
        "sequence": "9f4c696e-9ab5-46cf-959c-b1e2e35200d2",
        "type": "response",
        "flag": "true",
    }   
    

    失败 :

    {
        "sequence": "9f4c696e-9ab5-46cf-959c-b1e2e35200d2",
        "type": "response",
        "flag": "false",
        "errorCode":"",
        "errorString":""
    }   
    

发送邀请

  • Action : invitation

  • 请求的 key-Value

    key类型说明
    typeString请求:request
    sequenceString请求的序列号
    actionString请求的行为:invitation
    senderString发送者账号
    tokenString发送者token标志
    receiverString接收者的账号
    contentString邀请的文本内容
  • 请求的json 格式:

    {
        "sequence": "9f4c696e-9ab5-46cf-959c-b1e2e35200d2",
        "type": "request",
        "action": "invitation",
        "token":"xxxx",
        "sender":"xxxx",
        "receiver":"xxxx",    
        "content":"xxxxxx"
    }
    
  • 响应的json 格式:

    成功 :

    {
        "sequence": "9f4c696e-9ab5-46cf-959c-b1e2e35200d2",
        "type": "response",
        "flag": "true",
    }   
    

    失败 :

    {
        "sequence": "9f4c696e-9ab5-46cf-959c-b1e2e35200d2",
        "type": "response",
        "flag": "false",
        "errorCode":"",
        "errorString":""
    }
    
发送文本消息

  • Action : text

  • 请求的 key-Value

    key类型说明
    typeString请求:request
    sequenceString请求的序列号
    actionString请求的行为:invitation
    senderString发送者账号
    tokenString发送者token标志
    receiverString接收者的账号
    contentString邀请的文本内容
  • 请求的json 格式:

    {
        "sequence": "9f4c696e-9ab5-46cf-959c-b1e2e35200d2",
        "type": "request",
        "action": "text",
        "token":"xxxx",
        "sender":"xxxx",
        "receiver":"xxxx",    
        "content":"xxxxxx"
    }
    
  • 响应的json 格式:

    成功 :

    {
        "sequence": "9f4c696e-9ab5-46cf-959c-b1e2e35200d2",
        "type": "response",
        "flag": "true",
    }   
    

    失败 :

    {
        "sequence": "9f4c696e-9ab5-46cf-959c-b1e2e35200d2",
        "type": "response",
        "flag": "false",
        "errorCode":"",
        "errorString":""
    }
    

Server 部分


推送用户邀请

  • action : invitation

  • 请求的 key-Value

    key类型说明
    typeString请求:request
    sequenceString请求的序列号
    actionString请求的行为:invitation
    senderString发送者账号
    receiverString接收者的账号
    invitor_nameString邀请者的名字
    invitor_iconString邀请者的头像
    contentString邀请的文本内容
  • 请求的json 格式:

    {
        "sequence":"3",
        "type":"request",
        "action":"invitation",
        "sender":"iphone1",
        "receiver":"iphone2",
        "invitor_name":"iphone2",
        "invitor_icon":"/icon/iphone2.png",
        "content":"hehe"
    }
    
  • 响应的json 格式:

    成功 :

    {
        "sequence": "3",
        "type": "response",
        "flag": "true",
    }   
    

    失败 :

    {
        "sequence": "3",
        "type": "response",
        "flag": "false",
        "errorCode":"",
        "errorString":""
    }
    
推送用户接受邀请

  • action : reinvitation

  • 请求的 key-Value

    key类型说明
    typeString请求:request
    sequenceString请求的序列号
    actionString请求的行为:reinvitation
    senderString发送者账号
    receiverString接收者的账号
    nameString接受邀请者的名字
    iconString接受邀请者的头像
    contentString邀请的文本内容
  • 请求的json 格式:

    {
        "sequence":"3",
        "type":"request",
        "action":"text",
        "sender":"iphone1",
        "receiver":"iphone2",
        "name":"iphone1",
        "icon","/icon/iphone1.png",
        "content":"hehe"
    }
    
  • 响应的json 格式:

    成功 :

    {
        "sequence": "3",
        "type": "response",
        "flag": "true",
    }   
    

    失败 :

    {
        "sequence": "3",
        "type": "response",
        "flag": "false",
        "errorCode":"",
        "errorString":""
    }
    
推送文本消息

  • action : text

  • 请求的 key-Value

    key类型说明
    typeString请求:request
    sequenceString请求的序列号
    actionString请求的行为:text
    senderString发送者账号
    receiverString接收者的账号
    contentString邀请的文本内容
  • 请求的json 格式:

    {
        "sequence":"3",
        "type":"request",
        "action":"text",
        "sender":"iphone1",
        "receiver":"iphone2",
        "content":"hehe"
    }
    
  • 响应的json 格式:

    成功 :

    {
        "sequence": "3",
        "type": "response",
        "flag": "true",
    }   
    

    失败 :

    {
        "sequence": "3",
        "type": "response",
        "flag": "false",
        "errorCode":"",
        "errorString":""
    }
    
推送用户名变更

  • action : nameChange

  • 请求的 key-Value

    key类型说明
    typeString请求:request
    sequenceString请求的序列号
    actionString请求的行为:nameChange
    senderString发送者账号
    receiverString接收者的账号
    nameString发送者变更后的名字
  • 请求的json 格式:

    {
        "sequence":"3",
        "type":"request",
        "action":"text",
        "sender":"iphone1",
        "receiver":"iphone2",
        "content":"hehe"
    }
    
  • 响应的json 格式:

    成功 :

    {
        "sequence": "3",
        "type": "response",
        "flag": "true",
    }   
    

    失败 :

    {
        "sequence": "3",
        "type": "response",
        "flag": "false",
        "errorCode":"",
        "errorString":""
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值