uri

restful 架构详解

两盒软妹~` 提交于 2020-01-21 04:29:22
场景:因为自己做的后台,一直有为前端提供接口,一直知道用的是restful框架,可是没有深入理解,先整理如下。 转载自:http://kb.cnblogs.com/page/512047/ http://kb.cnblogs.com/page/521718/ 1. 什么是REST   REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一。 他在论文中提到:“我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一个功能强、性能好、适宜通信的架构。REST指的是一组架构约束条件和原则。” 如果一个架构符合REST的约束条件和原则,我们就称它为RESTful架构。   REST本身并没有创造新的技术、组件或服务,而隐藏在RESTful背后的理念就是使用Web的现有特征和能力, 更好地使用现有Web标准中的一些准则和约束。虽然REST本身受Web技术的影响很深, 但是理论上REST架构风格并不是绑定在HTTP上,只不过目前HTTP是唯一与REST相关的实例。 所以我们这里描述的REST也是通过HTTP实现的REST。    2. 理解RESTful  

通过 RestTemplate 访问 Web 资源

感情迁移 提交于 2020-01-21 02:05:46
Spring Boot 中的 RestTemplate 在springboot中,有两种方式去配置: 自己new 新建一个RestTemplate实例作为bean 放到容器当中 springboot 给我们提供了一个RestTemplateBuilder,通过RestTemplateBuilder.build()去获得一个RestTemplate RestTemplate中的常用方法: GET请求: getForObject() / getForEntity() POST请求: postForObject() /postForEntity() PUT请求: put() DELETE请求: delete() 构造 URI UriComponentsBuilder 构造 URI ServletUriComponentsBuilder 构造相对于当前请求的 URI MvcUriComponentsBuilder 构造指向 Controller 的 URI 常用构造方式: URI uri = UriComponentsBuilder . fromUriString ( "http://localhost:8080/hotels/{hotel}?q={q}" ) . build ( "west" , "123" ) ; URI uri = UriComponentsBuilder .

Nginx安装及配置

与世无争的帅哥 提交于 2020-01-21 01:20:42
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。 其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。 一、nginx可以实现的功能 1、可以作为静态资源的web服务器、可以缓存文件的资源描述符——加速 2、支持对http、stmp、pop3等多种协议的反向代理 3、支持实现缓存和负载均衡 4、支持fcgi 5、支持uWSCGI 6、支持模块化 7、支持过滤器,对特定文件进行压缩传输 8、支持ssl 9、支持图像大小调整 二.、nginx的特性 1、模块 2、高性能 3、低内存消耗 4、支持热部署 5、支持异步IO 6、支持事件驱动 7、支持内存映射 三、核心模块

RESTful API 架构解读

北城以北 提交于 2020-01-20 10:26:46
RESTful API 架构解读 首先我们还是先介绍下 RESTful api 的来龙去脉。 首先, RESTful (下文都简称 RESTful api 为 RESTful ) 1、RESTful 这个概念最早是在 2000年 Roy Thomas Fielding 博士在他的博士论文《Architectural Styles and the Design of Network-based Software Architectures》 中提出了几种软件应用的架构风格,REST作为其中的一种架构风格在这篇论文的第5章中进行了概括性的介绍。 (其实我很好奇,为何国内的开发者们没能做出这些 标准通用级别的 规范) 这里 我们需要理解的就是 RESTful 它不是一种 类似于 http/https 的规范,而是一种 web 的架构。 而 RESTful 架构风格主要包含了 1)采用 URI 标识资源 2)用 '链接' 关联相关的资源 3)使用标准的 http 方法 4)支持多种资源表示方式 5)无状态性 接下来,就用着五点 继续往下介绍。 一、采用 URI 标识资源 首先 标识资源 中的 资源 指的是什么? 在任何 在客户端能够访问到的 任何形式(图片、文字、音频、视频等)的 事物均可以理解为资源。 同时, 存储在数据库中的数据也可以理解为资源。 并且 通过 uri 标识以后

Image Uri to File

旧街凉风 提交于 2020-01-20 05:21:52
问题 I've got an Image Uri, retrieved using the following: public Uri getImageUri(Context inContext, Bitmap inImage) { ByteArrayOutputStream bytes = new ByteArrayOutputStream(); inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes); String path = Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null); return Uri.parse(path); } This works just amazing for Intents that require an Image URI, etc (so I know for sure the URI is valid). But now I want to save this Image URI

爬虫开发(一)

情到浓时终转凉″ 提交于 2020-01-19 19:44:04
  爬虫主要用来做数据采集,又名网络蜘蛛,内容网站很多就是用爬虫来抓取数据的。本系列(现在还不知道有几篇)旨在实现一个基本的爬虫程序(框架)。开发语言:C#   爬虫是要从源源不断的抓取到的页面中过滤出我需要的目标数据。既然要源源不断的抓取数据,那么我们就要有一个各个页面的URL的集合,去模拟访问这些URL,来分析返回的数据,从而再根据我们分析的HTML DOM结构获取到我们需要的数据。   URL的获取,通常,我们应该有一个Root节点,也就是根URL,然后就像树形结构一样去遍历他的各个子节点。说的形象一点,比如,一个网站的首页,上面有各个导航的URL1、URL2,URL3……也就是说只要我们获取到了网站首页的数据,然后筛选出所有的URL,就能获取这个根URL的直接子节点。然后我们再获取URL1的数据,从而获取URL1的直接子节点,然后一直这样重复下去,最后我们就可以得到一个庞大的树形结构。   数据的获取,每请求一个URL都会返回数据,也就是HTML文档的源码,我们要获取目标数据就要弄明白文档结构,而不同的页面有不同的文档结构。废话不多说了,程序员之间交流,还是直接上代码更容易理解。   对于Http访问,这里使用WebClient。新建一个Crawler的类库,并且新建一个Crawler类,代码如下: 1 using System; 2 using System

nginx proxy_pass

烂漫一生 提交于 2020-01-19 18:49:42
原文链接: https://www.jianshu.com/p/b010c9302cd0 在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。 假设下面四种情况分别用 http://192.168.1.1/proxy/test.html 进行访问。 第一种: location /proxy/ { proxy_pass http://127.0.0.1/; } 代理到URL: http://127.0.0.1/test.html 第二种(相对于第一种,最后少一个 / ) location /proxy/ { proxy_pass http://127.0.0.1; } 代理到URL: http://127.0.0.1/proxy/test.html 第三种: location /proxy/ { proxy_pass http://127.0.0.1/aaa/ ; } 代理到URL: http://127.0.0.1/aaa/test.html 第四种(相对于第三种,最后少一个 / ) location /proxy/ { proxy_pass http://127.0.0.1/aaa ; } 代理到URL: http://127.0.0.1/aaatest.html

20 Java学习之Path & Files & Paths (1.7开始)-----java nio内容

倾然丶 夕夏残阳落幕 提交于 2020-01-18 13:59:44
Java7中的文件IO发生了很大的变化,引入了很多新的类,可以去看java.nio.file包。比如:1.7之前主要是通过File创建一个文件,然后将File作为输入参数,获取输入流等操作。而1.7开始,就采用了Path接口代替File类,且Files作为操作了,里面定义了很多非常有用的API。并且Paths主要是用来获取Path类。 之所以新增这些接口或者类,是因为java.io.File类有很多缺陷,它即使操作失败也不会抛出异常。Path更加高效。 一. Paths (工具类) Paths类主要是用来生成Path对象的。 1. 类定义 public final class Paths 说明:这个类不可以被继承 2. 构造函数 private Paths() { },私有构造函数,不允许外界创建它的对象。 3.方法介绍 只有两个静态方法,一个是通过String类型的pathname来get到Path对象,另外一个是根据URI来get到Path对象。 (1)根据string类型的pathname 1 public static Path get(String first, String... more) { 2 return FileSystems.getDefault().getPath(first, more); 3 } View Code 说明:第二个参数是个变参。举例 1

golang.是用类axios.js的api请求http接口,支持proxy

回眸只為那壹抹淺笑 提交于 2020-01-18 04:07:20
golang axios 项目地址:https://github.com/zhaojunlike/common-go 创建实例 func TestNewDefaultHttpRes(t *testing.T) { var opt = &Options{Proxy: &Proxy{Host: "127.0.0.1", Port: 8888}} client, _ := NewHttpClient(opt) defer client.Destroy() ids := []string{"d8469d31-ca22-474b-a329-450d32adc789", "d8469d31-ca22-474b-a329-450d32adc789", "d8469d31-ca22-474b-a329-450d32adc789"} var wg sync.WaitGroup for _, id := range ids { wg.Add(1) go func(id string) { uri := fmt.Sprintf("https://api.nike.com/launch/launch_views/v2/%s", id) fmt.Println("request:", uri) conf := NewConfig(uri) conf.Timeout = 3 * time.Second res

PathFromUri(Android 4.4 kitkat以上及以下根据uri获取路径的方法)

☆樱花仙子☆ 提交于 2020-01-18 02:59:04
原文出处: http://www.ccbu.cc/android/android-pathfromuri Android4.4开始,Uri的格式定义发生了变化,与之前的固定形势相比较,出现了几种不同的格式定义,分别对应不同的Provider(DocumentProvider,DownloadsProvider,MediaProvider),对于Uri,可以通过DocumentsContract.isDocumentUri(context, uri)来进行判断是不是DocumentUri,如果是则采用新的方式进行解析Path,否则则可以采用之前的方式进行。 package com . stt . photoapk . utils ; import android . content . ContentUris ; import android . content . Context ; import android . database . Cursor ; import android . net . Uri ; import android . os . Build ; import android . os . Environment ; import android . provider . DocumentsContract ; import android .