restful

什么是RESTful?

老子叫甜甜 提交于 2020-01-31 07:25:55
一.REST起源 REST(Representational State Transfer)表象化状态转变(表述性状态转变),在2000年被提出,基于HTTP、URI、XML、JSON等标准和协议,支持轻量级、跨平台、跨语言的架构设计。是Web服务的一种新的架构风格(一种思想)。 二.REST架构的主要原则 对网络上所有的资源都有一个资源标志符。 对资源的操作不会改变标识符。 同一资源有多种表现形式(xml、json) 所有操作都是无状态的(Stateless) 符合上述REST原则的架构方式称为RESTful   什么是无状态性: 使得客户端和服务器端不必保存对方的详细信息,服务器只需要处理当前的请求,不需了解请求的历史。可以更容易的释放资源,让服务器利用Pool(连接池)技术来提高稳定性和性能。 三.RESTful介绍 RESTful是一种常见的REST应用,是遵循REST风格的web服务,REST式的web服务是一种ROA(面向资源的架构)。 1.RESTful资源操作 http方法 资源操作 幂等 安全 GET SELECT 是 是 POST INSERT 否 否 PUT UPDATE 是 否 DELETE DELETE 是 否 2.接口示例: 2.1.传统URL请求格式: http://127.0.0.1/user/query/1 GET 根据用户id查询用户数据

设计好的RESTful Web Service

这一生的挚爱 提交于 2020-01-31 03:19:05
RESTful Web Service REST提供了一组架构约束,当作为一个整体来应用时,强调组件交互的 可伸缩性、接口的通用性、组件的独立部署、以及用来减少交互延迟、增 强安全性、封装遗留留系统的中间组件。 Richardson 成熟度模型 Level 0:基本上不使用REST 它完全的就使用一个URI 一个http方法去处理所有请求 是非常混乱的 Level 1:用资源去区分请求,但是,还是使用一个http的动作 即 一个URI处理一个请求 Level 2: 去区分不同的httpmethod 比方说 一个url 什么时候处理post 什么时候处理get等等 Level 3:使用Hypermedia一个超媒体的驱动 如何实现 Restful Web Service 分为以下几类: 识别资源 选择合适的资源粒度 设计 URI 选择合适的 HTTP 方法和返回码 设计资源的表述 识别资源 找到领域名词 • 能用 CRUD 操作的名词 比如说 之前用到的coffee 和 coffeeorder 进行http操作 将资源组织为集合(即集合资源) 比如 所有coffee的放在一起 就是coffee的集合 所有coffeeorder的放在一起 就是coffeeorder的集合 将资源合并为复合资源 即 将coffee的集合和coffeeorder集合形成复合资源 计算或处理理函数 比如

ArangoDB Restful API

痞子三分冷 提交于 2020-01-30 13:15:24
ArangoDB 除了提供 Web 和 shell 接口来管理数据库之外,还可以使用 Restful API 的方式来管理数据库。 数据库操作 数据库查询 当前数据库版本 $ curl -u $USERNAME : $PASSWORD -s -X GET http://localhost:8529/_db/mydb/_api/version | json_reformat { "server" : "arango" , "license" : "community" , "version" : "3.6.0" } 当前用户数据库列表 $ curl -u $USERNAME : $PASSWORD -s -X GET http://localhost:8529/_api/database/user | json_reformat { "error" : false, "code" : 200, "result" : [ "_system" , "mydb" ] } 数据库列表 $ curl -u $USERNAME : $PASSWORD -s -X GET http://localhost:8529/_api/database | json_reformat { "error" : false, "code" : 200, "result" : [ "_system" ,

rails之路由

匆匆过客 提交于 2020-01-29 03:40:43
理解路由的目的 看懂routes.rb文件中的代码 使用经典的hash风格或者现在比较流行的Restful风格构造你自己的路径 断定一个路径会映射到哪一个controller和action 1. 路由的双重作用 Rails的路由是一个双重的机制 - 你既能把树木变成纸张,也能把纸张变成树木.更准确的说,它既能将进入服务器的HTTP请求连接到你的controller,也能帮助你(在View内)生成URL而不需要使用硬编码的字符串. 1.1 从URL到代码 当你的Rails应用接收到HTTP请求后,比如: GET /patients/17 Rails的路由引擎就是把请求分发到你的应用中合适点的那些代码.具体到这个例子,应用程序比较可能会运行patients controller中的show action,并展示id是17的patient的详细信息. 1.2 从代码到URL 路由也可以反过来作用.如果你的应用包含了以下代码 @patient = Patient.find(17) <%= link_to “Patient Record”, patient_path(@patient) %> 那么,路由引擎就会把这段代码解释成这样的URL: http://example.com/patients/17.这样使用路由,比起硬编码URL,可以降低你的应用程序的脆弱程度(增加程序健壮性)

spring boot RESTFul API拦截 以及Filter和interceptor 、Aspect区别

谁说胖子不能爱 提交于 2020-01-29 03:40:10
spring boot RESTFul API拦截 以及Filter和interceptor 、Aspect区别 今天学习一下RESTFul api拦截 大概有三种方式 一、通过Filter这个大家很熟悉了吧,这是java规范的一个过滤器,他会拦截请求。在springboot中一般有两种配置方式。 这种过滤器拦截并不知道你用的是哪一个Controller处理也不知道你用哪一个方法处理。 (1)第一种直接写类实现这个接口。代码如下这个要使用Component注解,当你你请求服务器的时候他会对每一个请求进行处理。 package com.nbkj.webFilter; import org.springframework.stereotype.Component; import javax.servlet.*; import java.io.IOException; import java.util.Date; @Component public class TimerFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { System.out.println("Time filter init"); } @Override

RESTful API的设计原则

本小妞迷上赌 提交于 2020-01-29 01:44:23
  最近一直在做公司的一个API平台的项目,前后大约有半年多了,中间穿插了好多其他的项目一起做的。上周经理要求写文档,我就重新打开项目开始检阅之前的代码,发现好多地方当初设计的并不合理,忽然就想到,一个好的API平台,应该怎么来设计呢?有哪些规范要遵守呢?面对自己的项目,感觉好多地方都要改,但是已经有人在用了,怎么办?全都要改动吗?所以就上网找解决方案,然后就发现一精品贴,现转载过来,以备不时查阅。   原文地址: http://www.cnblogs.com/moonz-wu/p/4211626.html ,转载请注明,原文在这里,不是我的。 ---------------------------- Principles of good RESTful API Design 好RESTful API的 设计原则 Good API design is hard! An API represents a contract between you and those who Consume your data. Breaking this contract will result in many angry emails, and a slew of sad users with mobile apps which no longer work. Documentation is

flask开发restful api系列(1)

放肆的年华 提交于 2020-01-28 18:39:43
  在此之前,向大家说明的是,我们整个框架用的是flask + sqlalchemy + redis。如果没有开发过web,还是先去学习一下,这边只是介绍如果从开发web转换到开发移动端。如果flask还不是很熟悉,我建议先到这个网站简单学习一下,非常非常简单。http://dormousehole.readthedocs.org/en/latest/   一直想写一些特别的东西,能让大家学习讨论的东西。但目前网上的很多博客,老么就按照官方文档照本宣读,要么直接搬代码,什么都不说明。我写这个系列的博客,让大家由浅入深,一步一步走向复杂结构,以及为啥要这么走,其他方式可不可以等等。   目前看来,移动开发最火,而我们python最适合开发移动的就是flask web框架,这款web框架非常清晰,可以简单用,可以复杂用。最简单的时候,一个py文件,就可以做一个项目;复杂的时候,利用蓝图,做各种版本控制,代码结构自己完全控制,非常自由。   首先,我们要知道,目前我们移动开发基本都在用restful api,什么是restful api呢?百度百科一下:Web 应用程序最重要的 REST 原则是,客户端和服务器之间的交互在请求之间是无状态的。从客户端到服务器的每个请求都必须包含理解请求所必需的信息。如果服务器在请求之间的任何时间点重启,客户端不会得到通知。此外

Restful API设计规范

最后都变了- 提交于 2020-01-27 02:30:28
理解RESTful架构 Restful API设计指南 理解RESTful架构 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。 这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。 网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开始融合,现在我们必须考虑,如何开发在互联网环境中使用的软件。 RESTful架构,就是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。 但是,到底什么是RESTful架构,并不是一个容易说清楚的问题。下面,我就谈谈我理解的RESTful架构。 一、起源 REST这个词,是 Roy Thomas Fielding 在他2000年的 博士论文 中提出的。 Fielding是一个非常重要的人,他是HTTP协议(1.0版和1.1版)的主要设计者、Apache服务器软件的作者之一、Apache基金会的第一任主席。所以,他的这篇论文一经发表,就引起了关注,并且立即对互联网开发产生了深远的影响。 他这样介绍论文的写作目的: "本文研究计算机科学两大前沿----软件和网络----的交叉点。长期以来

Restful API设计规范

若如初见. 提交于 2020-01-26 03:49:57
理解RESTful架构、Restful API设计指南、理解RESTful架构 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。 这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。 网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开始融合,现在我们必须考虑,如何开发在互联网环境中使用的软件。 RESTful架构,就是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。 但是,到底什么是RESTful架构,并不是一个容易说清楚的问题。下面,我就谈谈我理解的RESTful架构。 一、起源 REST这个词,是 Roy Thomas Fielding 在他2000年的 博士论文 中提出的。 Fielding是一个非常重要的人,他是HTTP协议(1.0版和1.1版)的主要设计者、Apache服务器软件的作者之一、Apache基金会的第一任主席。所以,他的这篇论文一经发表,就引起了关注,并且立即对互联网开发产生了深远的影响。 他这样介绍论文的写作目的: "本文研究计算机科学两大前沿----软件和网络----的交叉点。长期以来

Restful API设计规范

霸气de小男生 提交于 2020-01-24 23:02:34
理解RESTful架构 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。 这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。 网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开始融合,现在我们必须考虑,如何开发在互联网环境中使用的软件。 RESTful架构,就是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站的采用。 但是,到底什么是RESTful架构,并不是一个容易说清楚的问题。下面,我就谈谈我理解的RESTful架构。 一、起源 REST这个词,是 Roy Thomas Fielding 在他2000年的 博士论文 中提出的。 Fielding是一个非常重要的人,他是HTTP协议(1.0版和1.1版)的主要设计者、Apache服务器软件的作者之一、Apache基金会的第一任主席。所以,他的这篇论文一经发表,就引起了关注,并且立即对互联网开发产生了深远的影响。 他这样介绍论文的写作目的: "本文研究计算机科学两大前沿----软件和网络----的交叉点。长期以来,软件研究主要关注软件设计的分类、设计方法的演化