关于spring:14小时吃透Spring5新特性重点讲解WebFlux响应式编程

7次阅读

共计 1264 个字符,预计需要花费 4 分钟才能阅读完成。

download:14 小时吃透 Spring5 新个性, 重点解说 WebFlux 响应式编程

前端 er,什么时候,你想写一个 HTTP 服务器?

当你第一次接触工程化的我的项目时,看到我的项目控制台正在 building,过一会忽然跳出一个 URL 地址,你点开它竟然是你刚写好的网页,好神奇。

当你接后端伙伴的接口时,你把数据带去,接口居然给你返回 500 谬误;你去找后端,后端说这样传不行,你不晓得为啥不行,反正依照他说的改完,返回 200 胜利了。

有时候你的申请莫名其妙的就跨域了,后端说让你们本人解决,你就找呀找解决方案。然而为什么会跨域?后端怎么配置的,你也不分明。

终于有一天,你痛定思痛,决定改过自新,肯定要本人搭一个 HTTP 服务器,彻底理清这外面的弯弯绕绕,从此回绝被忽悠,回绝做只听命令的大头兵。

然而话说回来了,怎么动手呢?

别急,这都给您备好啦。写 HTTP 服务器须要后端语言,不用说,天然首选 Node.js。

上面咱们基于 Node.js 的 http 模块,一起搭建一个的 HTTP 服务器。

http 模块

一个超简略的 HTTP web 服务器的示例:

const http = require('http')

const server = http.createServer((request, response) => {
  response.statusCode = 200
  response.end('hello world')
})

server.listen(3000)

这里引入了 http 模块,提供了 createServer 办法,传入一个回调函数,创立了一个服务器。

当初把代码写进 index.js,再超简略的把它运行起来:

$ node index.js

关上浏览器,输出 http://localhost:3000,就能看到网页显示的 hello world 了。

代码分析

http.createServer 办法的参数是一个回调函数,这个回调函数有两个参数 —— 它们是 HTTP 服务器的外围。

第一个参数是申请对象 request,第二个参数是响应对象 response。你能够把它们看作两个袋子,一个袋子里装着申请相干的数据,一个袋子里装着响应相干的操作。

request 蕴含了具体的申请数据,也就是咱们前端调接口传递过去的数据。通过它能够获取申请头,申请参数,申请办法等等。

response 次要用于响应相干的设置和操作。什么是响应?就是我收到了客户端的申请,我能够设置状态码为 200 并返给前端数据;或者设置状态码为 500 并返给前端谬误。

总之一句话,调用接口返回什么,是由 response 决定的。

事实上,createServer 返回的是一个 EventEmitter,因而下面的写法等同于这样:

const http = require('http')
const server = http.createServer()

server.on('request', (request, response) => {
  response.statusCode = 200
  response.end('hello world')
}).listen(3000)
正文完
 0