开发者社区> 落雨_> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Nodejs Express 4.X 中文API 2--- Request篇

简介: 相关阅读:  Express 4.X API 翻译[一] --  Application篇  Express 4.X Api 翻译[二] --  Request篇  Express 4.X Api 翻译[三] --- Response篇  Express 4.X Api 翻译[四] --- Router篇 req.params 这是一个包含着被命名的路由规则“参数”的对象属性。
+关注继续查看

相关阅读:

 Express 4.X API 翻译[一] --  Application篇

 Express 4.X Api 翻译[二] --  Request篇

 Express 4.X Api 翻译[三] --- Response篇

 Express 4.X Api 翻译[四] --- Router篇

req.params

这是一个包含着被命名的路由规则“参数”的对象属性。例如如果你有一个路由规则为:”/user/:name”,然后这个”name”属性你就可以使用req.params.name来调用,这个属性默认为 {}

当在定义路由规则的时候使用了正则表达式,匹配结果会被提供在数组里使用req.params[N],这里的N指的是第n个匹配数组。这样的规则被应用在使用未命名的通配匹配规则,例如/file/*

 req.query

这个属性是一个对象属性包含着被解析过的请求参数对象,默认为{}

 

 req.body

这个属性是包含一个被解析过的请求体。这个功能是中间件 bodyParser 提供的,尽管其他的请求体解析中间件也会很好的支持这样的约定。这个属性会在使用了bodyParser()的时候被定义为{}。

 

 req.param(name)

返回一个参数名为 name 的值

查找的优先级如下:

  • req.params
  • req.body
  • req.query

直接访问 req.body , req.params,和 req.query 应该是更加的清晰,除非你确实需要接受每个对象的输入。

req.route

当前匹配的 “Route” 包含一些属性,例如路由的原始字符串以及转换后的正则表达式等。

上面的例子将会输出以下内容:

 

 req.cookies

当cookieParser()中间件被使用的时候,这个对象将会被初始化为{},除此之外,还包含了由用户代理发送过来的cookies

如果有任何问题或者疑问,请查阅cookie-parser的附加文档

req.signedCookies

当 cookieParser(secret)中间件被执行的时候,这个对象会被初始化为{},还包含了用户代理发送过来的被签名的cookie,未签名的和准备使用的。签名后的cookies被存放在一个单独的对象内,否则,攻击者会很轻松的替换掉”req.cookie”内的值。需要注意的是,签名的cookies并不带表它们是隐藏的或者是加密的,这个只是同于防止篡改cookies。

如果有任何问题或者疑问,请查阅cookie-parser的附加文档

req.get(field)

获取请求头内的 field 字段,不区分大小写,其中Referrer 和 Referer字段是可互换的。

别名为 req.header(field);

 req.accepts(types)

检查给定的类型 types 是不是可以接受的类型,当是可接受的类型时返回最佳的匹配,否则返回 undefined – 在这种情况下,你应该返回406″Not Acceptable”。

type 的值可以是单一的一个mine类型的字符串,比如”application/json”,扩展名为”json”,也可以是一个以逗号分隔的列表或者数组。当为列表或数组时将返回最佳匹配。

如果有任何问题或者疑问,请查阅accepts的附加文档

req.acceptsCharset(charset)

检查给定的 charset是否是可以被接受的

如果有任何问题或者疑问,请查阅accepts的附加文档

req.acceptsLanguage(lang)

检查给定的 lang 是否为可接受的

如果有任何问题或者疑问,请查阅accepts的附加文档

req.is(type)

检查提交进来的请求是否包含”Content-Type”头字段和他匹配的给定的mime type

如果有任何问题或者疑问,请查阅 type-is 的附加文档

req.ip

返回远程地址,或者在反向代理启用时返回上游ip地址。

 

 req.ips

当反向代理模式开启时,解析 “X-Forwarded-For” ip地址列表并返回一个数组,否则返回空数组。例如,如果一个值为”client,proxy1,proxy2″你将会收到数组["client","proxy1","proxy2"]这里可以看出”proxy2″是最远的下游地址。

req.path

返回请求的URL路径名。

 

req.host

返回从“Host”请求内取出的主机名,但是不包含端口号。

 

 req.fresh

检查请求是否是新的 – 通过对Last-Modified或者 ETag进行匹配,来标明这个资源是不是”新的”。

 

 req.stale

检查这个请求是不是旧的 – 如果Last-Modified 或者 ETag 不匹配,标明这个资源是旧的。

 

 req.xhr

检查请求头里是否有”X-Requested-With”这样的字段并且值为”XMLHttpRequest”(jQuery 等)请求时会设置这个头

 

req.protocol

返回请求协议字符串 “http”或者”https”当请求为TLS时。当被启用反向代理时,”X-Forwarded-Proto” 请求头将会被信任。如果你运行一个支持https协议的反向代理,那么这个是会被支持的。

 

 req.secure

检查TLS连接是否已经被建立。下面是一段简写

 req.subdomains

返回子域名数组

 

 req.originalUrl

这个属性很像req.url,然而,他保留了原始请求的url,允许你在做内部路由的时候自由的重写 req.url。例如,app.use()会重写 req.url 为挂载点

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
NodeJs中使用Apollo Server构建GraphQL API服务
GraphQL是一种通过强类型查询语言构建api的新方法。GraphQL于2015年由Facebook发布,目前正迅速获得关注,并被Twitter和Github等其他大型公司所采用,之前写过一篇《浅谈NodeJS搭建GraphQL API服务》只是简单介绍构建API。在本文中,我们将介绍如何使用Apollo Server在Node.js中设置GraphQL服务器。
0 0
浅谈NodeJS搭建GraphQL API服务
GraphQL是一种通过强类型查询语言构建api的新方法。GraphQL于2015年由Facebook发布,目前正迅速获得关注,并被Twitter和Github等其他大型公司所采用。GraphQL API设计理念是有别于REST API,简单了解可以看看这篇文章《GraphQL与REST:两种API架构》
0 0
NodeJS中如何处理好异步API
NodeJS中如何处理好异步API
0 0
nodejs版的有道云API
因为自己的记录笔记的应用是有道云,又想着把有道云跟自己的小网站联通起来,所以查找了有道云的,然后实现了nodejs版本的sdk.
0 0
Nodejs调用百度身份证认证API
今天给大家分享一下,这几天调用身份证认证API的流程。在此是使用nodejs写的后台。
0 0
NodeJs 后端开发 04 使用axios调用第三方服务API
目录 当我们需要访问其他服务的接口有什么JS库可以使用呢? 先看文档,直接打开Axios Github 编写Axios HelloWorld 创建一个新的NodeJS项目,引入axios包: 发送请求前需要启动商品服务 发送一个GET请求 发送一个POST请求,模拟添加商品数据
0 0
NodeJS 后端开发 03 使用Restify开发API 一个完整的CRUD
这篇是继NodeJs Restful API开发 https://blog.csdn.net/geeklevin/article/details/109013368 的进一步补充。 目录 概述 从简入手 先看效果图 再回来讲原理 快速过一下,curl工具的介绍 本篇重点
0 0
如何使用 NodeJS 构建基于 RPC 的 API 系统
> * 原文地址:[How to build an RPC based API with node.js](https://scotch.io/@alloys/how-to-build-an-rpc-based-api-with-nodejs) > * 原文作者:[Alloys Mila](https://scotch.io/@alloys) > * 译文出自:[阿里云翻译小组](https:
1290 0
nodejs 搭建 RESTful API 服务器的常用包及其简介
常用包 框架: yarn add express 数据库链接: yarn add sequelize yarn add mysql2 处理 favicon: yarn add serve-favicon 纪录日志: yarn add morgan 生成文档: yarn add --dev ap...
1253 0
+关注
落雨_
http://js-dev.cn
文章
问答
文章排行榜
最热
最新
相关电子书
更多
CUDA Math API
立即下载
阿里云 API 精选手册(Alibaba Cloud API Playbook)
立即下载
重保场景及API安全指南
立即下载