restful api

resuful api

1.面向资源
2.http动词(get post put delete等)来描述动作
3.api格式一般为json

传统api get和post

1.获取用户信息 get /api/user/read
2.更新用户信息 post /api/user/update
3.新增用户信息 post /api/user/add
4.删除用户信息 post /api/user/delete

restful api

1.获取用户信息 get /api/user/1
2.更新用户信息 put /api/user/1
3.新增用户信息 post /api/user/add
4.删除用户信息 delete /api/user/1

HTTP状态码

200 请求成功
201 创建成功
202 更新成功
400 无效请求
401 地址不存在
403 禁止访问
404 请求资源不存在
500 内部错误

API数据结构格式

status 业务状态码
message 提示信息
data 数据层

TP5使用方式

Route::get
Route::post
Route::put
Route::delete
Route::resource

API数据安全介绍

背景
接口请求地址和参数暴露
重要接口返回数据明文暴露
APP登录状态请求的数据完全性问题
代码层数据安全问题

加密方式

MD5
AES
RSA 非对称加密 no效率

如何做

基本参数放入header
每次http请求都携带sign
sign唯一性保证
请求参数 返回数据安全性适当加密
access_token

AES 前端加密 PHP后端解密

api基础信息接口开发以及接口文档详解

如下图所示
header参数作为基准的参数 每次请求都需要携带上

字段 参考值 备注
sign 1DASDASCZXCZXASDSAD 每次http请求的sign校验码
version 1 大版本号
did 1ASDADADADSADA did设备号
os 3.4 设备的操作系统
model sanxing1.2 app的机型
access_user_token ASDASDASDSADSAD 登录后需要传递这个字段

host:
测试域名: test.com
线上域名: a.com

1.接口地址
api/v1/cat
2.请求方式:get
3.请求参数: header头的基本参数
4.http code: 200
5.接口返回

catid: 栏目id
catname: 栏目名称

{
  "status": 1,
  "message": "OK",
  "data": [
    {
      "catid": 0,
      "catname": "首页"
    },
    {
      "catid": 1,
      "catname": "综艺"
    },
    {
      "catid": 2,
      "catname": "明星"
    },
    {
      "catid": 3,
      "catname": "韩娱"
    },
    {
      "catid": 4,
      "catname": "看点2"
    }
  ]
}
posted @ 2017-11-24 15:16  WWSASUKE  阅读(187)  评论(0编辑  收藏  举报