使用Slim框架实现基本的REST API
来源:互联网 发布:mathcad 是什么软件 编辑:程序博客网 时间:2024/06/06 05:53
REST API是一种广泛应用于服务器和客户端之间的网络通信接口设计风格。首先要明确的是,REST是一种API设计风格,或是理解成一种设计思想,而不是一个具体的技术、编程语言等(有点类似于模块化编程思想)。本文参考了一篇国外的文章,简单介绍了使用Slim框架实现基本REST API的过程。
本文参考文章 《How to create REST API for Android app using PHP, Slim and MySQL》
本文源码可在GitHub下载: https://github.com/jzj1993/Slim-REST-API
需要准备的工具和环境
- USBWebServer / XAMPP或其他支持PHP的服务器站点软件包(Apache,PHP,MySQL)
可参考《USBWebserver:快速搭建本地PHP环境的好工具》 http://www.hainter.com/usbwebserver - Chrome浏览器 + Advanced Rest Client插件(或其他REST API测试工具)
- Slim框架程序包,Composer(Slim已经包含在附件的工程源码中,Composer可以不安装)
- PHP编辑器:例如NetBeans,SublimeText等
新建数据库和数据表
进入phpmyAdmin数据库管理页面,执行如下SQL指令,新建数据库,并初始化数据表。
CREATE DATABASE task_manager;
USE task_manager;
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(250) DEFAULT NULL,
`email` varchar(255) NOT NULL,
`password_hash` text NOT NULL,
`api_key` varchar(32) NOT NULL,
`status` int(1) NOT NULL DEFAULT '1',
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`)
);
CREATE TABLE IF NOT EXISTS `tasks` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`task` text NOT NULL,
`status` int(1) NOT NULL DEFAULT '0',
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
);
CREATE TABLE IF NOT EXISTS `user_tasks` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`task_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
KEY `task_id` (`task_id`)
);
ALTER TABLE `user_tasks` ADD FOREIGN KEY ( `user_id` ) REFERENCES `task_manager`.`users` (
`id`
) ON DELETE CASCADE ON UPDATE CASCADE ;
ALTER TABLE `user_tasks` ADD FOREIGN KEY ( `task_id` ) REFERENCES `task_manager`.`tasks` (
`id`
) ON DELETE CASCADE ON UPDATE CASCADE;
编写程序
由于参考文章中已经对程序进行了介绍,这里跳过此步骤,直接解压源文件到服务器站点的根目录。根据数据库的登录密码,将include/Config.php中数据库的用户名、密码进行修改。
测试
启动服务器,输入如下网址可进入Slim欢迎界面 http://localhost/libs
从浏览器直接输入网址,可进入默认的HelloWorld界面 http://localhost/v1
使用Chrome插件进行REST API测试
根据参考文章中的内容,这里测试register的API,其他API的测试方法一样。启动Chrome的插件Advanced Rest Client,填写相关数据。其中API的网址如下,在Payload中添加字段name,email,password,选择POST方法;最后点击Send按钮,即可发送数据到服务器端。
http://localhost/v1/register
经过处理,就会返回注册成功的消息,如图。
在phpmyAdmin中可以看到,新注册的用户信息已经保存在数据库中了。
本文由jzj1993原创,转载请注明来源:http://www.hainter.com/slim-rest-api
- 使用Slim框架实现基本的REST API
- 基于Slim微型框架实现强大的API—— Slim入门篇
- Apache+PHP 实现基于Slim的REST框架 调用系统命令或自己开发的程序
- slim(PHP rest 框架 )简介
- 如何更好的设计你的REST API之基于REST架构的Web Service设计及REST框架实现
- Director REST API 的使用
- ceph-rest-api的使用
- ceph-rest-api的使用
- hbase rest api的使用
- 利用Tensorflow的Slim API实现卷积神经网络
- Elasticsearch使用REST API实现全文检索
- Python REST API 框架
- Tensorflow 使用slim框架下的分类模型进行分类
- Tensorflow 使用slim框架下的分类模型进行分类
- 六步实现Rest风格的API
- REST以及RESTful的实现:Web API
- 简单的 Nova REST API 实现程序
- 六步实现Rest风格的API
- 小感想
- SVN加载项目失败
- Git常用命令
- C 语言实现常用排序
- JSP 3个编译指令
- 使用Slim框架实现基本的REST API
- 【C++ Primer】【学习笔记】【第九章】顺序容器之:顺序容器的定义
- 系统滴答定时器(systick)应用
- 两会调查:近8成网友认为目前社保缴费率偏高
- Spring10种常见异常解决方法
- Linux进程同步之记录锁(fcntl)
- A*B Problem II
- IP地址爬取
- 2014年终总结-致业已逝去的2014