首页 > 其他分享 >关于RESTfull

关于RESTfull

时间:2024-09-25 15:37:56浏览次数:10  
标签:URL xxx 关于 user 设计 RESTful 资源 RESTfull

目录

关于RESTful

REST的全称是 Representational State Transfer 中文含义表现层状态转化。

符合REST规范的设计,我们称为RESTful设计。它的设计哲学主要是将服务器提供的内容实体看作一个资源,并表现在URL上。

资源

如下地址,这个地址代表了一个资源,对这个资源的操作,主要体现在HTTP请求方法上,不是体现在URL上。

/user/xxx

过去我们对用户的增删改查获取是如下这样设计的URL:

POST /user/add?username=xxx
GET /user/remove?username=xxx
POST /user/update?username=xxx
GET /user/get?username=xxx

操作行为主要体现在行为上,主要是用的请求方式是post和get。在RESTful设计中,它是如下这样的:

post /user/xxx
get /user/xxx
delete /user/xxx
put /user/xxx

它将DELETE和PUT请求方法引入设计中,参与资源的操作和更改资源的状态。

资源表现

对于资源的具体表现形态,也不在如过去一样表现在URL上的文件后缀上。

过去设计资源的格式与后缀有很大的关联,例如:

get /user/xxx.json
get /user/xxx.xml

在RESTful设计中,资源的具体格式由请求报文头中的Accept字段和服务器的支持情况来决定。

如果客户端同时接收json和xml格式的响应,那么它的accept字段值就是如下这样的:

accpet:application/json,application/xm;

靠谱的服务器端应该要估计这个字段,然后根据自己能响应的格式做出响应。在响应报文中,通过content-type字段告知客户端是什么格式,如下:

content-type:application/json

具体格式,我们称之为具体的表现。

总结

所以REST的设计就是,将服务器的内容实体当成资源,通过URL设计资源,请求方法定义资源的操作,通过Accept决定资源的表现形式

RESTful与MVC设计并不冲突,而且是更好的改进。相比MVC,RESTful只是将HTTP请求方法也加入了路由的过程,以及在URL路径上体现得更资源化

标签:URL,xxx,关于,user,设计,RESTful,资源,RESTfull
From: https://www.cnblogs.com/niehao/p/18431467

相关文章

  • 关于2024年11月30日PMI认证考试的报名通知
    尊敬的各位考生:经PMI和中国国际人才交流基金会研究决定,中国大陆地区2024年第四期PMI认证考试定于11月30日举办。在基金会网站报名参加本次PMI认证考试的考生须认真阅读下文,知悉考试安排及注意事项,并遵守考试有关规定。一、报名注意事项1.在报名前请考生做好网站用户注册、信息绑定......
  • 关于QT6.5.3版本安装、更新/添加组件的一些心得
    目录引言一、如何下载和卸载QT1.下载QT2.卸载QT二、镜像引言本文主要记录一下关于VisualStudio2022和QtCreator14.0.1(Community)的安装......
  • 关于Pinia 使用setup方式书写 $reset方法失效问题
    在当我使用的时候踩到一个坑:当我在使用$reset想要重置state数据的时候,却报错了,经过排查发现是因为没有使用选项式进行编写代码关于$reset方法Pinia文档中只有简短的介绍:您可以通过调用 store 上的 $reset() 方法将状态重置到其初始值:conststore=useStore()store.$reset(......
  • 全能还是专精?关于技术通才与技术专家的思考
    全能还是专精?关于技术通才与技术专家的思考 在日新月异的IT行业中,每隔数年乃至数月,便会涌现出革新性的技术或前沿框架,引领行业潮流。比如前端开发,我刚开始工作时,大部分都是静态页面+JavaScript,页面上只有一些简单的交互。后来出现了Ajax技术和JQuery库,现在想起当年第一次......
  • 关于在vue2中自定义右键弹窗
            所需变量//右键点击的弹框对象rightDialogbox:null,//鼠标点击后获取的文本chooseText:'',//弹窗的偏移left:'',top:'',//右键点击的弹框显隐rightDialogShow:false,一、阻止原生事件......
  • java中关于多态的案例
    判断下列代码的输出结果:classA{publicvoidshow(){show2();}publicvoidshow2(){System.out.println("我");}}classBextendsA{/*publicvoidshow(){show2();}*/publicv......
  • keycloak~关于授权码认证中的scope的实践
    前言1.scope参数的作用定义权限:scope用于声明请求访问的资源和权限。常见的值包括openid、profile、email等。影响返回的数据:如果你在授权请求中指定了某些scope,在后续的token请求中,Keycloak会根据这些scope返回相应的信息。openid用于指示请求者希望使用Open......
  • 【随手记录】关于灰度发布
    线下测试很难覆盖线上的所有场景,即便是测试设计得非常完善,但仍旧会有差别,简单来说,线下测试与线上至少存在四个方面的不同:配置不同。线下环境与线上环境的应用版本保持一致不难,但配置方面往往存在差异,如服务规格、调试开关等。数据不同。线上的数据更真实、更丰富,场景也更多样。......
  • java中关于继承的题目4
    4.请用面向对象的思想,设计自定义类描述演员和运动员的信息设定1)演员类:属性包括:姓名,年龄,性别,毕业院校,代表作方法包括:自我介绍2)运动员类:属性包括:姓名,年龄,性别,运动项目,历史最好成绩方法包括:自我介始要求3)分析演员和运动员的公共成员,提取出父类—人类4)利用继承机制,实现......
  • 关于建表字段是否该使用not null这个问题你怎么看?
    大家好,我是V哥,在数据库设计中,是否使用NOTNULL是一个非常重要的决策,直接影响数据完整性、查询性能以及业务逻辑的复杂度。使用NOTNULL的关键在于理解业务需求和具体场景。下面V哥通过一些场景来分析什么时候应该使用NOTNULL,什么时候允许NULL。一起聊聊经验之谈,望和兄弟......