python property() 函数: @property装饰器就是负责把一个方法变成属性来进行调用的结构,实现既可以检查参数,又可以以点的形式进行调用类中的方法。...语法进行遍历的语法叫做一个迭代器 当你建立了一个列表,你可以逐项地读取这个列表,这个列表叫做一个可迭代对象 生成器: 生成器是可以迭代的,但是你 只可以读取它一次 ,因为它并不把所有的值放在内存中...post和put的区别: 如果一个方法(API)重复执行多次,产生的效果是一样的,那它就是idempotent的 假如我们发送两个http://superblogging/blogs/post/Sample...请求,服务器端是什么样的行为?...前一种情况,应该使用POST方法,后一种情况,应该使用PUT方法, post是发送请求, put也是发送请求,但是put的后一个请求会把前一个请求覆盖掉。
author=Fielding 3) 请求方法 REST约定用GET/POST/PUT/DELETE等请求方法来进行CURD操作。...但是否使用了GET/POST/PUT/DELETE,并不能作为评判一个系统是否符合REST架构风格的标准。...有些人认为GET/POST/PUT/DELETE跟CURD是一对一的关系,其实不是。 具体的说,各请求方法如下: GET:用于查询资源。 POST:用于创建资源。...只要使用了规范的REST架构风格,那么就可以根据HTTP的标准,做出明确的相应处理,无需另外制定私有协议了。既减少了私有协议的兼容性问题,又能作为标准适用于所有的RESTful架构。...如果响应是可缓存的,那么客户端缓存就可以为以后的相同请求重用这个响应的数据,减少了网络交互,提高了效率、可伸缩性和用户感知的性能。 4.
和 POST这两种方法。...POST /users/12 HTTP/1.1 X-HTTP-Method-Override: PUT 上面代码中, X-HTTP-Method-Override指定本次请求的方法是 PUT,而不是 POST...API 返回的数据格式,不应该是纯文本,而应该是一个 JSON 对象,因为这样才能返回标准的结构化数据。...同时客户端也应作出相应的配合,客户端请求时,也要明确告诉服务器,可以接受 JSON 格式,即请求的 HTTP 头的 ACCEPT属性也要设成 application/json,多渠道调用可能会存在相同资源需要有不同的...POST:201Created 创建成功 PUT:200OK 更新成功 DELETE:204NoContent 找不到要删除的内容 使用状态码 202 有时候会比 使用状态啊吗 201 是更好的选择,
和 POST这两种方法。...POST /users/12 HTTP/1.1X-HTTP-Method-Override: PUT 上面代码中, X-HTTP-Method-Override指定本次请求的方法是 PUT,而不是 POST...API 返回的数据格式,不应该是纯文本,而应该是一个 JSON 对象,因为这样才能返回标准的结构化数据。...同时客户端也应作出相应的配合,客户端请求时,也要明确告诉服务器,可以接受 JSON 格式,即请求的 HTTP 头的 ACCEPT属性也要设成 application/json,多渠道调用可能会存在相同资源需要有不同的...GET:200OK 请求成功 POST:201Created 创建成功 PUT:200OK 更新成功 DELETE:204NoContent 找不到要删除的内容 使用状态码 202 有时候会比 使用状态啊吗
“统一接口”包含一组受限的预定义操作,不论什么样的资源,都可以通过相同的接口进行资源的访问。接口应该使用标准的HTTP方法,如GET、PUT和POST,并遵循这些方法的语义。...Level 2:使用的API严格根据HTTP的Web语法执行对资源的处理和约束,例如GET用于读取资源、POST用于创建资源、PUT用于更新资源、DELETE用于删除资源。...● 服务器是幂等的,对于相同请求,服务端返回的数据应该相同,所以服务端可以缓存结果,结果可以存储在服务端,也可以存储在客户端。...,CORBA规范规定了ORB(Object Request Broker,对象请求代理)的标准体系。...可以说,REST已然成为API开发集成的事实标准。
REST通过HTTP协议定义的通用动词方法(GET、PUT、DELETE、POST) ,以URI对网络资源进行唯一标识,响应端根据请求端的不同需求,通过无状态通信,对其请求的资源进行表述。...REST使用HTTP+URI+XML /JSON 的技术来实现其API要求的架构风格:HTTP协议和URI用于统一接口和定位资源,文本、二进制流、XML、JSON等格式用来作为资源的表述。...post请求,就是新增的请求; 使用put请求,就是修改的请求; 使用delete请求,就是删除的请求。...RMI实际上是Java语言的RPC实现,允许方法返回 Java 对象以及基本数据类型,适合用于JAVA语言构建的不同系统间的调用。...soap webService拥有三要素: 1、soap用来描述传递信息的格式 SOAP即简单对象访问协议(Simple ObjectAccess Protocol),它是用于交换XML(标准通用标记语言下的一个子集
Request对象 REST framework 的Request类扩展了标准HttpRequest,增加了对 REST framework 灵活的请求解析和请求身份验证的支持。...因此,HttpRequest类的方法和属性依旧是可以使用的。 Request.data Request对象的数据是自动根据前端发送数据的格式进行解析之后的结果。...) 包含了对POST、PUT、PATCH请求方式解析后的数据; 利用了REST framework的parsers解析器,不仅支持表单类型数据,也支持JSON数据。...} 也可以使用基于APIView类的视图设置用于单个视图或视图集的解析器。...data': request.data}) Request.query_params request.query_params与Django标准的request.GET相同,只是更换了更正确的名称而已
等广泛流行的标准和协议;轻量级,跨平台、跨语言的架构设计; 它是一种设计风格,不是一种标准,是一种思想。...我们可以通过统一资源标识符(Universal Resource Identifier,URI)来识别和定位资源,并且针对这些资源而执行的操作是通过 HTTP 规范定义的。...因此设计web接口的时候,REST主要是用于定义接口名,接口名一般是用名次写,不用动词,那怎么表达“获取”或者“删除”或者“更新”这样的操作呢——用请求类型(GET,PUT,POST,DELETE)来区分...对同一Rest接口多次请求,得到的资源状态是相同的。...后端处理数据并以JSON格式传输出去,定义这样一套统一的接口,在web,ios,android三端都可以用相同的接口。
幂等的含义可以理解为调用一次与连续调用多次是等价的(没有副作用或副作用不变) POST和PUT的区别 POST和PUT的区别容易被简单地误认为“POST表示创建资源,PUT表示更新资源” 而实际上,二者均可用于创建资源...请注意,这里强调的是一次和N次并不是说每次请求的结果相同,而是每次请求不会产生不同的副作用。...DELETE 具备幂等性 用于删除资源,有副作用,但它应该满足幂等性,调用一次和N次对系统产生的副作用是相同的 POST 不具备幂等性 POST所指向资源并非POST要创建的资源本身,而是POST创建资源的接收者...,比如POST:/news的含义是在news新闻组这个资源分类下新建一条新的新闻,所以两次相同的POST请求会在服务器端创建两份新的资源,它们是不同的。...所以,POST方法不具备幂等性 PUT 具备幂等性 PUT对应的资源是要创建或更新的资源本身,语义是创建或更新,对同一资源进行多次PUT的副作用和一次PUT是相同的,因此,PUT方法具有幂等性
附件被一个页面的所有不同的翻译间共享(即不管页面语言是什么,附件是用同一组附件)。 页面可以有一个或多个对象。对象是包含一组属性的类的实例。有些对象可能会被直接公开为类的实体,如注释和tags。...随后使用PUT请求到该页面的URI将是修改其内容。 当更新或创建一个页面时,你可以在XML中指定的三要素标题,语法和内容的子集。 例如,如果你只是想更改标题,就只要指定标题元素就足够了。...但是,目前许多浏览器仅支持GET和POST方法,所以这是不可能的发送,例如,PUT请求。为了解决这个限制,你可以通过指定URI查询字符串的方法参数来替代HTTP方法。...PUT vs POST 在下面的部分,你会看到,有时资源通过使用PUT,有时使用POST创建。总的原则是,如果客户端负责选择资源URI,使用PUT。如果是服务端承担这责任,则使用POST。...过滤器可以设置为名称,空间或作者。该资源可以用于搜索在一个wiki的页面。 Status codes: 200: 如果请求是成功的。 401: 如果用户没有被授权。
通过发送POST和PUT请求均可以添加一个新的资源,但是两者的不同之处在于:对于前者,请求着一般不能确定标识添加资源最终采用的URI,即服务端最终为成功添加的资源指定URI;对于后者,最终标识添加资源的...比如我们分别发送PUT和POST请求以添加一个员工,标识员工的URI由其员工ID来决定。如果员工ID由客户端来指定,我们可以发送PUT请求;如果员工ID由服务端生成,我们一般发送POST请求。...对于POST和PUT,也存在一种一刀切的说法:POST用于添加,PUT用于修改。我个人比较认可的是:如果PUT提供的资源不存在,则做添加操作,否则做修改。...至于最后一种POST,由于它总是进行添加操作,如果服务器接收到两次相同的POST操作,将导致两个相同的资源被创建,所以这是一个非幂等的方法。...对于它来说,每次请求都是全新的,它只需要针对本次请求作相应的操作,不需要将本次请求的相关信息记录下来以便用于后续来自相同客户端请求的处理。
什么是REST? Ans. REST是 Representational State Transfer(表述性状态传递)的简称。是一项用于分布式环境数据交换的协议。...REST是一种架构风格,它将每个服务对待为资源并通过Http协议方法(GET、POST、PUT、DELETE)获取数据。 REST风格的架构包含客户端和服务端。...它可以接收和生成非面向对象的内容比如图像!PDF等。 它已经自动支持 OData 。...基于HTTP并且容易定义,以REST方式公开和使用。 它是轻量级的架构,适用于有限带宽的设备,如智能手机。 开源。 Q6....可以如同ASP.NET MVC那样修改WEB API的action name吗? Ans.
由于 Web 对消费者偏好有多重影响,REST 风格的倡导者鼓励企业组织在其边界内使用相同原则,就像他们在面向外部客户的网页上做的那样。本文将讨论现代 REST Web 实现中的基本约束和属性。...虽然一定会有与应用程序相关的特定行为,但是加入与应用程序无关的行为越多,系统就会越有弹性,也更容易维护。 4.2 POST 在辨别 POST 和 PUT 动词意图的时候,情况开始变得不那么清晰。...这里应使用 PUT 操作。对已知资源使用 POST 更新,可用于向订单添加新送货地址或更新购物车中某个商品的数量。 由于是更新资源的部分信息,POST 既不安全也不幂等。...客户端可以向指定 URL 发 PUT 请求,服务器用请求中的数据执行覆盖操作。PUT 请求在某种程度上是等幂的,而 POST 更新不是。...这是推荐使用 PATCH 而非 POST 的原因,尽管 POST 可以用于任何事情。IETF 发布了 RFC 文档,定义用于 PATCH 操作的 XML 和 JSON。
1.REST简短介绍 REST代表Representational State Transfer. 是一种架构风格,设计风格而不是标准,可用于设计Web服务,可以从各种客户端使用....简单通俗的说就是多次请求返回的效果都是相同的,例如GET去请求一个资源,无论请求多少次,都不会对数据造成创建修改等操作,PUT用来更新数据也是,无论执行多次的都是最终一样的效果 问题:使用PUT改变学生年龄并且这样做...10次和做了一次,学生的年龄是相同的,是幂等的,那么如果POST做相同操作,那么它是如何不是幂等的?...答:因为POST请求会在服务端创建与请求次数相同的服务,假如服务端每次请求服务会存在一个密钥,那么这个POST请求就可能不是幂等的,也或许是幂等的,所以POST不是幂等的。...因为PUT请求URL到客户端定义的URL处完整地创建或替换资源,所以PUT是幂等的。DELETE请求也是幂等的,用来删除操作,其实REST就是相当于一个风格规范。
书接上文⬆⬆⬆不断发展的 REST API通过一个额外的库和几行额外的代码,您已将超媒体添加到您的应用程序中。但这并不是使您的服务成为 RESTful 所需的唯一事情。...REST 的一个重要方面是它既不是技术堆栈也不是单一标准。REST 是架构约束的集合,采用这些约束会使您的应用程序更具弹性。弹性的一个关键因素是,当您对服务进行升级时,您的客户不会遭受停机时间的困扰。...像这样更新 POST 方法:处理“旧”和“新”客户端请求的 POST@PostMapping("/employees")ResponseEntity的对象使用EmployeeModelAssembler.Spring MVCResponseEntity用于创建HTTP 201 Created状态消息。...通过这些调整,您可以使用相同的端点来创建新的员工资源,并使用遗留name字段:$ curl -v -X POST localhost:8080/employees -H 'Content-Type:application
RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。...RESTFUL特点包括: 1、每一个URI代表1种资源; 2、客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源...更重要的是,由于http是事实上的互联网通讯标准协议,基于rest设计的api接口,就好像你出国用英语和别人交流,完全不存在沟通障碍。...: 假设我们数据库里有一张User表,我们根据表建好了领域对象模型User,按照restful规范设计的接口应该是这样的: 新增用户 [POST] /users 修改用户 [PUT] /users/{id...410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。 422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。
的处理还是对 Payload 的编码,REST 都倾向于用更 加简单轻量的方法设计和实现。...值得注意的是 REST 并没有一个明确的标准,而更像是一种设计的风格。 它本身并没有什么实用性,其核心价值在于如何设计出符合 REST 风格的网络接口。...PUT 等 method 并不支持,Spring3.0 添 加了一个过滤器,可以将浏览器请求改为指定的请求方式,发送给我们的控制器方法,使得支持 GET、POST、PUT与 DELETE 请求。...它可以用于修饰方法和参数。 出现在方法上,表示当前方法会在控制器的方法执行之前,先执行。它可以修饰没有返回值的方法,也可 以修饰有具体返回值的方法。 出现在参数上,获取指定的数据给参数赋值。...属性: value:用于获取数据的 key。key 可以是 POJO 的属性名称,也可以是 map 结构的 key。
由于 Web 对消费者偏好有多重影响,REST 风格的倡导者鼓励企业组织在其边界内使用相同原则,就像他们在面向外部客户的网页上做的那样。本文将讨论现代 REST Web 实现中的基本约束和属性。...虽然一定会有与应用程序相关的特定行为,但是加入与应用程序无关的行为越多,系统就会越有弹性,也更容易维护。 4.2 POST 在辨别 POST 和 PUT 动词意图的时候,情况开始变得不那么清晰。...这里应使用 PUT 操作。对已知资源使用 POST 更新,可用于向订单添加新送货地址或更新购物车中某个商品的数量。 由于是更新资源的部分信息,POST 既不安全也不幂等。...客户端可以向指定 URL 发 PUT 请求,服务器用请求中的数据执行覆盖操作。PUT 请求在某种程度上是等幂的,而 POST 更新不是。...这是推荐使用 PATCH 而非 POST 的原因,尽管 POST 可以用于任何事情。 IETF 发布了 RFC 文档,定义用于 PATCH 操作的 XML 和 JSON。
介绍 提供Shelf组件,可以轻松创建统一的,分层的REST资源,并且只需极少的样板。 shelf_rest是shelf_route的一个替代品。...如果您愿意,可以继续使用它与shelf_route完全相同,例如。...,例如@ Get,@ Post,@ Put,@ Delete和@AddAll,这些注解支持与相应方法完全相同的参数。...例如,我们可能希望允许存款到我们的帐户,如下所示 PUT -> /accounts/1234/deposits/999 您可以使用上述标准@AddAll注解添加子资源。...一种常见的方法是将@RestResource方法与@Get,@ Post,@ Put,@ Delete注解一起用于标准CRUD操作以及不适合标准模型的操作。
REST形式的API组织形态是资源和实体,请求的路由可以看出对资源的访问,规范统一接口自解释。 比如 https://xxxx/Student/1 用Get方法调用就是获取编号为1的学生。...在请求中GET、PUT、DELETE 请求是幂等的,也就是说可以重试请求。而POST不是幂等,因为POST意思是添加数据。...本篇我们结合Rest看下接口如何设计和交互。 在http接口请求中有三种方式传递参数或者数据。...使用RPC风格,尽量使用合理谓词,不知道使用什么谓词的时候就用POST,Get Delete参数尽量用资源定位URL,业务错误服务端返回合适的状体吗,不知道返回什么就返回400,如果请求处理成功就用200...,甚至可以随意组织,只要我们的参数明和占位符相同就行。
领取专属 10元无门槛券
手把手带您无忧上云