基于RESTful下的api

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于RESTful下的api相关的知识,希望对你有一定的参考价值。

//持续更新中。。。

1.RESTful架构:每一个网址代表一个资源,相比较于传统的路由规则,rest不能有动词,所用的名词与数据库表名对应。

2.服务端返回的数据类型为json格式

 

//用curl函数模拟post提交

技术分享

//$post_data 传入数据应该包含但前时间(用于制作token),app_key /app_id.

//$token=MD5(MD5(键值键值).MD5(标识))

 

2.服务端响应<?php/**

 * Created by PhpStorm.
 * User: THINK
 * Date: 2017/9/25
 * Time: 10:43
 */


namespace Home\\Controller;
use Think\\Controller\\RestController;


class UserController extends RestController
{
    public function lists(){
    //获取post提交信息
    //生成token
    // 与传入token对比,不符合返回报错信息
//模拟post.get提交
switch($this->_method){ case ‘get‘: echo ‘check all user‘; break; case ‘post‘: if(time()-I(‘post.timestamp‘) > 5){ $data = array( ‘code‘=>‘302‘, ‘mes‘=>‘超时‘, ‘datas‘=>array() ); echo json_encode($data); exit; } if(I(‘post.app_key‘)==‘lol‘){ $data = array( ‘code‘=>‘200‘, ‘mes‘=>‘信息调用成功‘, ‘datas‘=>array( array(‘username‘=>‘1‘, ‘password‘=>‘123‘), array(‘username‘=>‘2‘, ‘password‘=>‘123‘), array(‘username‘=>‘3‘, ‘password‘=>‘123‘), ) ); }else{ $data = array( ‘code‘=>‘301‘, ‘mes‘=>‘参数不正确‘, ‘datas‘=>array() ); } echo json_encode($data); break; } } //模拟put和delete提交 public function show(){ switch($this->_method){ case ‘get‘: echo ‘check id=‘,I(‘get.id‘),‘ user‘; break; case ‘put‘: echo "update id=",I(‘put.id‘)," user"; break; case ‘delete‘: echo "delete id=",I(‘delete.id‘)," user"; break; } } }

 




以上是关于基于RESTful下的api的主要内容,如果未能解决你的问题,请参考以下文章

Django编写RESTful API:ViewSets和Routers

RESTful RESTful API REST 介绍

基于Node的PetShop,oauth2认证RESTful API

Django编写RESTful API:ViewSets和Routers

基于Spring Boot的RESTful API实践

RESTful API 编写指南