首页 > 其他分享 >一文搞懂RESTful开发

一文搞懂RESTful开发

时间:2024-05-16 20:33:33浏览次数:24  
标签:http 一文 GET REST 搞懂 RESTful localhost 请求

  • REST(Representational State Transfer),表现形式状态转换,它是一种软件架构风格

    当我们想表示一个网络资源的时候,可以使用两种方式:

    • 传统风格资源描述形式

      • http://localhost/user/getById?id=1 查询id为1的用户信息

      • http://localhost/user/saveUser 保存用户信息

    • REST风格描述形式

      • http://localhost/user/1

      • http://localhost/user

传统方式一般是一个请求url对应一种操作,这样做不仅麻烦,也不安全,因为会程序的人读取了你的请求url地址,就大概知道该url实现的是一个什么样的操作。

查看REST风格的描述,你会发现请求地址变的简单了,并且光看请求URL并不是很能猜出来该URL的具体功能

所以REST的优点有:

  • 隐藏资源的访问行为,无法通过地址得知对资源是何种操作

  • 书写简化

但是我们的问题也随之而来了,一个相同的url地址即可以是新增也可以是修改或者查询,那么到底我们该如何区分该请求到底是什么操作呢?

  • 按照REST风格访问资源时使用行为动作区分对资源进行了何种操作

    • http://localhost/users 查询全部用户信息 GET(查询)

    • http://localhost/users/1 查询指定用户信息 GET(查询)

    • http://localhost/users 添加用户信息 POST(新增/保存)

    • http://localhost/users 修改用户信息 PUT(修改/更新)

    • http://localhost/users/1 删除用户信息 DELETE(删除)

请求的方式比较多,但是比较常用的就4种,分别是GET,POST,PUT,DELETE

按照不同的请求方式代表不同的操作类型。

  • 发送GET请求是用来做查询

  • 发送POST请求是用来做新增

  • 发送PUT请求是用来做修改

  • 发送DELETE请求是用来做删除

但是注意:

  • 上述行为是约定方式,约定不是规范,可以打破,所以称REST风格,而不是REST规范

    • REST提供了对应的架构方式,按照这种架构设计项目可以降低开发的复杂性,提高系统的可伸缩性

    • REST中规定GET/POST/PUT/DELETE针对的是查询/新增/修改/删除,但是我们如果非要用GET请求做删除,这点在程序上运行是可以实现的

    • 但是如果绝大多数人都遵循这种风格,你写的代码让别人读起来就有点莫名其妙了。

  • 描述模块的名称通常使用复数,也就是加s的格式描述,表示此类资源,而非单个资源,例如:users、books、accounts......

清楚了什么是REST风格后,我们后期会经常提到一个概念叫RESTful,那什么又是RESTful呢?

  • 根据REST风格对资源进行访问称为RESTful。

后期我们在进行开发的过程中,大多是都是遵从REST风格来访问我们的后台服务,所以可以说咱们以后都是基于RESTful来进行开发的。

标签:http,一文,GET,REST,搞懂,RESTful,localhost,请求
From: https://www.cnblogs.com/XiaYu-Ye/p/18196674

相关文章

  • 一文读懂云渲染与离线渲染的关系是什么
    云渲染和离线渲染是什么关系呢?在渲染过程中经常会有人听到云渲染、离线渲染,然而两者的关系却有很多人都不清楚,下面一起来简单看看两者之间的关系吧。1、渲染目的和过程:-离线渲染:通常用于创建高质量的静态图像或动画,如电影特效、建筑可视化等。它不要求实时反馈,可以在后台慢慢......
  • Django RESTful API设计与实践指南
    title:DjangoRESTfulAPI设计与实践指南date:2024/5/1415:37:45updated:2024/5/1415:37:45categories:后端开发tags:DjangoRESTAPI设计版本控制安全认证性能优化部署策略实战项目第1章:Django基础知识1.1Django简介:Django是一个使用Python语言开发......
  • 一文学会 Kubernetes Pod 的生命周期管理(转载)
    收获了解Pod的状态(Status)了解pod阶段(Phase)了解Podconditions了解容器状态(Status)保持容器健康了解容器自动重启使用探活(liveness)探针(Probe)检查容器的健康状况如果程序启动缓慢,请使用startupprobeLivenessprobe一些建议在容器启动和关闭时......
  • 一文看懂!高科技企业如何选择最佳的替代FTP的方案
    高科技企业,也即我们熟知的高新技术企业,是指那些知识密集和技术密集的经济实体。这些企业普遍具有创新性强、技术领先、科研投入高、成长高速等特点。而由于企业的发展迅速,内部的数据产生和交互也极为频繁,文件的流转场景和业务扩展速度成正相关,因此,保证企业的文件和数据安全、高速......
  • 如何安全高效地进行企业文档外发,一文了解!
    企业文档外发是指将企业的内部文件、文档或信息发送给企业外部的个人或组织。目前使用比较多的企业文档外发的方式有以下几种,可以了解看一下:1.邮件系统:通过电子邮件发送文档,这是最传统的文档外发方式之一。2.即时通讯工具:如微信、QQ、企业微信、钉钉、飞书等,这些工具便于快速交......
  • c4d云渲染怎么操作?怎么使用?一文带你了解
     Cinema4D(C4D)不仅是众多设计师所青睐的卓越三维软件,其自带的高效渲染器以及对云渲染农场的支持,都极大地拓宽了创意和生产的边界。通过利用强大的云计算资源,C4D能够帮助用户轻松克服渲染速度缓慢的难题,从而实现更加流畅和高效的工作流程。本文为大家分享C4D云渲染的具体使用......
  • YOLOv9改进 | 一文带你了解全新的SOTA模型YOLOv9(论文阅读笔记,效果完爆YOLOv8)
    https://snu77.blog.csdn.net/article/details/136230391 官方论文地址:官方论文地址点击即可跳转官方代码地址:官方代码地址点击即可跳转    图1.在MSCOCO数据集上实时对象检测器的比较。基于GELAN和PGI的对象检测方法在对象检测性能方面超越了所有以前的从头开始训练......
  • 一文读懂顺序读写、随机读写、4K读写、IOPS值等,值得一读的科普文
    闪存应用产品主要包括固态硬盘SSD、移动固态硬盘PSSD、U盘、microSD卡(TF卡)、SD卡等,在描述这些产品性能的时候,经常会提到顺序读/写速度、随机读写/4K读写性能、IOPS等参数,相关的测评文章往往会将这方面的测试结果用截图的形式来表达某某闪存应用产品性能如何。以下是某款高速移动......
  • 一文读懂 YUV 的采样与格式
    转载自:https://cloud.tencent.com/developer/article/1442041 YUV是一种颜色编码方法,和它等同的还有RGB颜色编码方法。RGB颜色编码RGB三个字母分别代表了红(Red)、绿(Green)、蓝(Blue),这三种颜色称为三原色,将它们以不同的比例相加,可以产生多种多样的颜色。在图像显示中,一张......
  • RESTful风格接口设计
    我们平常开发一般只使用GET、POST方法。而对于HTTP给出的PUT、DELETE等其他方法都没使用。以RESTful风格设计接口就能全部用上这些方法。按照RESTful理查德森成熟度模型改造接口这个模型跟数据库范式等级相似,都是一层一层满足。我们的mvc接口不好说是哪一级,一般都是每个操作一个......