【PHP】REST API是什么
CrazyPanda发表于:2024-05-23 16:13:05浏览:308次
API的分类
REST API(restful)
REST是Representational State Transfer(表现层状态转移)的缩写,它是由罗伊·菲尔丁(Roy Fielding)提出的
非 REST API(restless)
REST API
发送请求进行 CRUD 哪个操作由请求方式来决定
同一个请求路径可以进行多个操作
请求方式会用到 GET/POST/PUT/DELETE
非 REST API
请求方式不决定请求的 CRUD 操作
一个请求路径只对应一个操作
一般只有 GET/POST
使用json-server搭建REST接口
json-server是什么
用来快速搭建 REST API 的工具包
source可以是json文件或者js文件
使用
下载
npm install -g json-server
目标根目录下创建数据库 json 文件:
db.json
{ "posts": [{ "id": 1, "title": "json-server", "author": "typicode" }], "comments": [{ "id": 1, "body": "some comment", "postId": 1 }], "profile": { "name": "typicode" } }
启动服务器执行命令
json-server --watch db.json
运行成功的界面如下
测试
使用浏览器测试
http://localhost:3000/posts
普通
get
请求
结果
[ { "id": 1, "title": "json-server", "author": "typicode" } ]
2. http://localhost:3000/posts/1
params参数
结果
{ "id": 1, "title": "json-server", "author": "typicode" }
http://localhost:3000/posts?id=1
query参数
结果
[ { "id": 1, "title": "json-server", "author": "typicode" } ]
query
参数与params
参数的异同
相同点
都能得到相应的数据内容
不同点
query
相当于对于原有的数据结构进行过滤,返回的数据结构中有数组params
直接返回查找到的对象得到的数据结构不同
使用axios测试
调用
then
方法得到相应的数据
<body> <div> <button onclick="testGet()">GET 请求</button> <button onclick="testPost()">POST 请求</button> <button onclick="testPut()">PUT 请求</button> <button onclick="testDelete()">DELETE 请求</button> </div> <script src="https://cdn.bootcss.com/axios/0.19.0/axios.js"></script> <script> /* 1. GET 请求: 从服务器端获取数据*/ function testGet() { // axios.get('http://localhost:3000/posts') // axios.get('http://localhost:3000/posts/1') // 获取 id 为 1 的对象 // axios.get('http://localhost:3000/posts?id=1&id=2') // 获取 id 为1 或 2 的数组 axios.get('http://localhost:3000/posts?title=json-server&author=typicode') } /* 2. POST 请求: 向服务器端添加新数据*/ function testPost() { axios.post('http://localhost:3000/posts', { title: 'xxx', author: 'yyyy' }) // 保存数据 } /* 3. PUT 请求: 更新服务器端已经数据 */ function testPut() { axios.put('http://localhost:3000/comments/1', { body: 'yyy', postId: 2 }) } /* 4. DELETE 请求: 删除服务器端数据 */ function testDelete() { axios.delete('http://localhost:3000/comments/1') } </script> </body>
对于测试POST请求的说明
当我们发送post请求添加数据的时候
id
为我们自动生成,不需要我们指定如果post请求成功,我们打开
db.json
就会发现新增加的数据
对于PUT/DELETE请求相同,我们通过db.json
都能观察到相应数据的改变
猜你喜欢
- 【PHP】php单例模式的应用场景有哪些
- php单例模式的应用场景有数据库连接、缓存管理、日志记录、配置管理、对象工厂和全局状态管理等。详细介绍:1、数据库连接,在一个PHP应用程序中,通常需要与数据库进行交互,为了避免频繁地创建和销毁数据库连接,可以使用单例模式来创建一个数据库连接类,并确保只有一个数据库连接实例存在,这样可以减少资源的消耗,并提高数据库操作的效率;2、缓存管理,缓存是一种常见的性能优化手段等等。本教程操作系统:windows10系统、PHP 8.1.3版本、DELL G3电脑。单例模式是一种常见的设计模式,
- 【PHP】PHP生成ICO图标的方法
- 本篇文章给大家介绍一下使用php生成ico图标的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。ico图标在每个网站中都需要用到的,使用方法也是很简单的,基本上以下面的方式为主,但也有其他的方式。<link rel="shortcut icon" href="/favicon.ico">一般将ico图标放置在网站的根目录下,使用时可以使用相对路径,也可以使用绝对路径来引入,这个没有明确的规定。
- 【PHP】php常用的第三方类库有哪些
- hp常用的第三方类库有laravel、symfony、guzzle、phpunit、monolog、swift mailer、phpexcel、carbon、doctrine、phpmailer等。详细介绍:1、laravel是一个流行的php框架,提供了丰富的功能和工具,用于快速构建web应用程序,它包含了许多常用的类库,例如路由、数据库访问、模板引擎、身份验证等等。本教程操作系统:windows10系统、PHP 8.1.3版本、DELL G3电脑。在PHP开发中,有许多常用的第三方类库可以
- 【PHP】制作自己的Composer插件并与其他开发者共享
- 如何编写自己的Composer插件并分享给其他开发者在现代的PHP开发领域,Composer已经成为了一个不可或缺的工具。它可以帮助开发者管理项目依赖和自动加载类,大大简化了项目的构建过程。除了使用Composer来安装第三方的扩展包之外,我们也可以使用Composer来编写自己的插件,并将其分享给其他开发者。本文将逐步介绍如何编写自己的Composer插件,并提供具体的代码示例。首先,我们需要创建一个空的Composer插件项目。在命令行中进入项目根目录,然后执行以下命令:compo
- 【PHP】ThinkPHP5.0 Restful API 开发
- 一、要学习什么是 RESTful API 首先我们得明白什么是REST?简单来说:REST是所有Web应用都应该遵守的架构设计指导原则。 英文全词Representational State Transfer,翻译是”表现层状态转化”。面向资源 是REST最明显的特征,对于同一个资源的一组不同的操作。资源是服务器上一个可命名的抽象概念,资源是以名词为核心来组织的,首先关注的是名词。REST要求,必须通过统一的接口来对资源执行各种操作。对于每个资源只能执行一组有限的操作。(7个HTTP方法:GET
- 【PHP】ThinkPHP如何防止SQL注入攻击
- 在ThinkPHP中,参数绑定是一种安全的方式,用于处理用户输入,特别是在构建数据库查询时。参数绑定可以防止SQL注入攻击,因为绑定的参数会被自动转义,而不是直接插入到SQL语句中。以下是在ThinkPHP中使用参数绑定的一些建议。1. 控制器中的参数绑定:在控制器中,可以使用bind方法进行参数绑定。以下是一个简单的示例:public function index($id) { $result = Db::
- 【PHP】php代码规范七大原则
- hp代码规范七大原则包括一致性、可读性、简洁性、可复用性、可测试性、安全性和性能。详细介绍:1、一致性,代码应该保持一致性,即在整个代码库中使用相同的命名规范、缩进风格、代码注释等,这样可以使团队成员更容易理解和阅读代码,减少出错和混淆的可能性;2、可读性,代码应该易于阅读和理解,为了提高可读性,可以使用有意义的变量和函数命名,避免使用过于复杂的表达式和嵌套结构等等。本教程操作系统:windows10系统、PHP 8.1.3版本、DELL G3电脑。在PHP开发中,遵循良好的代码规范是非常重要
- 【PHP】php修改文件扩展名
- PHP是一门广泛使用的服务器端脚本语言,许多web应用程序都是使用PHP开发的。在开发PHP应用程序时,可能需要对文件进行操作,比如修改文件扩展名。下面将介绍PHP如何修改文件扩展名。在PHP中,可以使用rename()函数来重命名文件。rename()函数接受两个参数:原文件名和新文件名。新文件名可以是原文件名的任何副本,只需要修改文件名的扩展名就可以了。下面是一个简单的例子,展示如何将文件扩展名从“.txt”修改为“.html”:$old_file_name =&nbs
栏目分类全部>