欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

使用Slim框架实现基本的REST API

发布时间:2023/12/15 编程问答 46 豆豆
生活随笔 收集整理的这篇文章主要介绍了 使用Slim框架实现基本的REST API 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

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的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。