首页 > 其他分享 >2、RestAPI介绍

2、RestAPI介绍

时间:2024-02-22 16:23:28浏览次数:19  
标签:HTTP 请求 RestAPI REST 响应 books 介绍 格式

RestAPI简单介绍

REST的作用是将我们上面提到的查看(view),创建(create),编辑(edit)和删除(delete)直接映射到HTTP 中已实现的GET,POST,PUT和DELETE方法。

这四种方法是比较常用的,HTTP总共包含八种方法:

GET
POST
PUT
DELETE
OPTIONS
HEAD
TRACE
CONNECT

当我们在浏览器点点点的时候我们通常只用到了GET方法,当我们提交表单,例如注册用户的时候我们就用到了POST方法...

介绍到这里,我们重新将上面的四个接口改写成REST风格:

查看所有图书:

GET http://demo.com/books

新增一本书:

POST http://demo.com/books
Data: name=shuxue

修改一本书:

PUT http://demo.com/books
Data:id=1,name=shuxue

删除一本书:

DELETE http://demo.com/books
Data:id=1

大家有没有发现,这样改动之后API变得统一了,我们只需要改变请求方式就可以完成相关的操作,这样大大简化了我们接口的理解难度,变得易于调用。

这就是REST风格的意义!

HTTP状态码

REST的另一重要部分就是为既定好请求的类型来响应正确的状态码。如果你对HTTP状态码陌生,以下是一个简易总结。当你请求HTTP时,服务器会响应一个状态码来判断你的请求是否成功,然后客户端应如何继续。以下是四种不同层次的状态码:

  • 2xx = Success(成功)
  • 3xx = Redirect(重定向)
  • 4xx = User error(客户端错误)
  • 5xx = Server error(服务器端错误)

我们常见的是200(请求成功)、404(未找到)、401(未授权)、500(服务器错误)...

API格式响应

上面介绍了REST API的写法,响应状态码,剩下就是请求的数据格式以及响应的数据格式。说的通俗点就是,我们用什么格式的参数去请求接口并且我们能得到什么格式的响应结果。

我这里只介绍一种用的最多的格式——JSON格式

目前json已经发展成了一种最常用的数据格式,由于其轻量、易读的优点。

所以我们经常会看到一个请求的header信息中有这样的参数:

Accept:application/json

这个参数的意思就是接收来自后端的json格式的信息。

我举个json响应的例子:

{
	"code": 200,
	"books": [{
		"id": 1,
		"name": "yuwen"
	}, {
		"id": 2,
		"name": "shuxue"
	}]
}

这样返回是不是一目了然,而且冗余信息很少!

标签:HTTP,请求,RestAPI,REST,响应,books,介绍,格式
From: https://www.cnblogs.com/Mr-Sponge/p/18027598

相关文章

  • Spring Kafka AckMode介绍
     原文链接:https://blog.csdn.net/qq1309664161/article/details/116994341一:AckMode介绍kafka消费端在读取数据后,会向Kafka服务端提交偏移量,来记录消费端读取数据的位置。提交偏移量分为手动提交和自动提交,为了保证数据读取的安全性,我们一般设置成手动提交偏移量。在Springb......
  • AppBox快速开发框架(开源)开发流程介绍
      目前很多低代码平台都是基于Web用拖拽方式生成界面,确实可以极大的提高开发效率,但也存在一些问题:大部分平台灵活性不够,特殊需求需要较大的自定义开发;解析json配置的执行效率不是太高;大部分平台缺乏后端支持或复杂的业务逻辑支持;与后端的数据结构及业务服务不存在强关联,修......
  • Rabbitmq 消息队列介绍
    Rabbitmq搭建和使用1.消息队列介绍1.1消息队列模式消息队列目前主要2种模式,分别为“点对点模式”和“发布/订阅模式”。1.1.1点对点模式一个具体的消息只能由一个消费者消费,多个生产者可以向同一个消息队列发送消息,但是一个消息在被一个消息者处理的时候,这个消息在队列......
  • 04-JavaScript介绍
      注意:JS是脚本语言,不需要经过编译,直接经过浏览器的解释就可以运行了。而Java语言需要先编译成class文件,再通过虚拟机进行运行。  <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>JS-引入方式</title></head><body>......
  • 数据抽取平台pydatax介绍
      缘起一:     公司现有数据仓库,是通过kettle从mysql抽取到目标库,运行多年,主要有以下问题,      1,效率低:kettle抽取行数少       2,容错性差:一个表抽取出错就导致后续计算会出问题,      3,扩展性差:对多库多表等支持不好  ......
  • PSD转换UGUI的方案研究(1):介绍
    在UI做好美术界面到程序拼界面这一流程中,美术切图加批注以及程序拼界面都是很占用时间的工作,为此我们想缩短这个时间来节省时间,所以想利用代码去实现这一步骤,借鉴其他的大佬提供的已有的方案上去修改为自己项目中可以用的方案(文末附上参考链接)。介绍项目已接近尾声,我们这套方案......
  • DAG(有向无环图)易懂介绍
    目录1.Tip的概念2.交易到达率和网络延迟对DAG的影响3.新交易的Tip选择策略1.基于概率的策略2.非基于概率的策略4.DAG的优缺点DAG优点DAG缺点DAG看他的结构挺唬人的,但是原理还是蛮简单的。DAG改变的是传统区块链的数据结构。首先简单介绍一下什么是图。一个图(graph)是......
  • 1- 介绍
    Introduction原文链接我的博客Linux架构Linux可以被粗略划分为用户空间与内核空间,这两个部分使用系统调用接口交互。内核在内核空间运行,是操作系统的核心组件,它为同层或上层提供服务。应用一般运行在用户空间中。Linux内核模块内核模块可以按照用户需求,加载到内核中,或从......
  • APB_AHB_AXI协议的简单介绍
    一、AMBA概述今天要介绍的三种嵌入式总线技术:APB、AHB、AXI,它们都属于AMBA片上总线协议。所以,在介绍这几种总线技术之前,有必要先了解一下AMBA片上总线协议是什么。AMBA(AdvancedMicrocontrollerBusArchitecture),全称叫作高级微控制器总线架构,它是由ARM公司研发推......
  • numpy介绍
    官网:https://numpy.org/doc/stable/NumPy是一个用于科学计算的Python库,它提供了一个强大的N维数组对象ndarray。ndarray是NumPy中的基础数据结构,用于存储同类型数据的多维数组。以下是ndarray的一些关键特性:同质性:ndarray中的所有元素必须是相同类型的,这允许NumPy在底层进行高......