理解POST和PUT的区别,顺便提下RESTful

理解POST和PUT的区别,顺便提下RESTful,第1张

在cmd下输入

doskey xiaohei=dir

doskey dir=echo bad command or file name

现在dir命令将无法使用,由我设置的xiaohei代替了。

输入dir显示Bad Command Or File Name,而输入我自己设置的xiaohei,就是以前dir一样的功能。

知道这个用法,我们还可以使fdisk、format、deltree等危险的命令失效。

RESTFUL是一种网络应用程序的设计风格和开发方式,基于>

基础的资源路径:

创建 Create:POST /students

查询 Query:GET /studentsage=0,10&name=姓,&q=搜索

获取 Get: GET /students/{studentId}

删除 Destroy:DELETE /students/{studentId}

替换 Update:PUT /students/{studentsId}

补丁 Patch(部分更新):PATCH /students/{studentsId}

替换单个属性 Update Field:PUT /students/{studentId}/{fieldName},请求的 payload 就是对象的字段的值

班级的对应的方式与 Student 的一样,POST /classes 等

班级下的学生: POST /classes/{classId}/students 向班级中添加学生

查询班级下的学生:GET /classes/{classId}/studentsage=0,10&name=,姓,&q=搜索

获取班级下学生的详细信息:GET /classes/{classId}/students/{studentId}

……

我们将接口分为以下几种类型:

创建资源:Create,统一为 POST /resource-names

查询资源:Query,统一为 GET /resource-namesq=查询关键字&age=0,10&name=,姓&limit=10&offset=0

获取资源:Get,统一为 GET /resource-names/{recourceId}

删除资源:Destroy,统一为 DELETE /resource-names/{recourceId}

替换资源:Update(全量更新),统一为 PUT /resource-names/{recourceId}

部分更新:Patch(打补丁),统一为 PATCH /resouce-names/{resourceId}/{fieldName}

*** 作请求:Action(比如通过审核、激活等对资源的 *** 作)统一为 POST /resouce-names/{resourceId}/action-name

大型查询:Maga Query,比如我们希望从磁带库中查询某一个时间段的数据,可能查询需要很长的时间,那么按以下方式完成:

a 创建查询: POST /queries,创建一个新的查询,payload 为查询所需要的所有配置参数信息,接口返回 queryId

b 通过 queryId 获取状态(或者通过 WebSocket 直接通知响起方), GET /queries/{queryId}/status

c 通过 queryId 获取查询结果 GET /queries/{queryId}/rowslimit=10&offset=0&q=搜索,查询结果得到之后,同样可以对结果进行二次搜索

关于查询参数的规范:

age=0,10 表示查询 age 为 [0, 10) 区间的数据, , 区分起始,同样的还可应用于 时间、日期 等类型的数据

age=,10;20,30;40表示查询 age 为 [0, 10)以及[20,30)以及大于 40 的数据, , 前面表示开始值,若不提供,表示所有小于 , 右侧的值的值,, 右侧表示结束值,若没有,则表示所有大于 , 左侧的值,; 表示多个值的区分。

age=10 表示 age===10 的值

name=姓, 表示以 姓 开头的值,类似 LIKE %姓

name=,名 表示以 名 结尾的值

name=姓名 表示 name 完全等于 姓名 的值

limit 此次查询多少条数据

offset 从 0 开始的偏移量

q 万能的搜索关键字,后端根据需求选择性使用

前言

目前网站上已经有很多关于如何去写restful风格的api的文章,主要说明下我接下来写的关于api写法的连载文章的目的,一个是主要把自己在这方面的心得分享给大家,二是希望大家也能给出更好的意见、建议,欢迎在看文章后讨论。

本篇文章主要说下接口路径该怎么定义,一个URL地址的可读性对于调用者和维护者都是很重要的,当你规划好URL该怎么定义后,这也决定了java项目中你的controller类的划分,我们知道一个>

REST(Representational State Transfer),表述性状态转移,定义了互联网架构原则,是一种架构风格,具体原则如下:

1互联网所有资源都可以被抽象为资源

2每个资源都有唯一的资源标识符

3同一个资源具有多个表现形式(可以是json,xml等等)

4对资源的 *** 作不会改变资源标识符

5所有的 *** 作都是无状态的

主要是就是说互联网上的资源可以用一种规则来表示,对资源的 *** 作是无状态的。

RESTFUL,是指遵守rest规则的web服务,restful是一种ROA(Resource Oriented Architecture,面向资源的架构),restful的核心概念就是资源(Resource)。

互联网中客户端和服务端的交互就是资源的表述,这种表述是无状态的,也就意味着服务端要报错资源的所有状态,客户端可以通过>

以上就是关于理解POST和PUT的区别,顺便提下RESTful全部的内容,包括:理解POST和PUT的区别,顺便提下RESTful、如何通过类对象作为方法参数的RESTful服务吗、restful Post提交 输入参数是json格式,怎么调用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9632190.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存