服务器和Express配置请求方式及参数接收
服务器和Express
1.网络通讯概述
网络通信三大要素: 协议,域名(IP),端口号;
通过ip找到计算机,再通过端口找到应用程序,符合规则就可进行数据传输。
传输协议:规定数据传输的规则,http或https或file;前端目前只接触这三项。
网络通讯的格式; 请求报文/响应报文;
域名或 IP:电子设备(计算机,服务器)在网络中的唯一标识。
localhost代表本机地址; 127.0.0.1代表本机地址;
端口:应用程序在计算机中的唯一标识。065535之间,01023的端口可能被系统占用。
80是 http 用; 443是 https 用;
2.express 介绍
- Express 是一个第三方模块,用于快速搭建服务器(替代http模块)
- Express 是一个基于 Node.js 平台,快速、开放、极简的 web 开发框架。
- Express保留了http模块的基本API,使用express的时候,也能使用http的API
- 使用express的时候,仍然可以使用http模块的方法,比如 res.end()、req.url
- express还额外封装了一些新方法,能让我们更方便的搭建服务器
- express提供了中间件功能,其他很多强大的第三方模块都是基于express开发的
- Express 官网
- Express 中文文档(非官方)
3.安装 express
项目文件夹中,执行 npm i express@4.17.1
。即可下载安装express。
注意:express不能安装在express文件夹中。否则安装失败。
4.使用Express构造Web服务器
使用Express构建Web服务器步骤:
加载 express 模块
创建 express 服务器
开启服务器
监听浏览器请求并进行处理
// 1.创建项目文件夹: 02_express
// 2.初始化 项目: npm init -y
// 3.安装第三方模块: npm i express@4.17.1// 4.导入
const express = require('express');
// 5.创建实例对象
const app = express();// 启动服务
app.listen(3006, () => {console.log('http://localhost:3006');
})
5.编写接口
// 6.编写接口 - req.method req.url
app.get('/api/getbooks', (req, res) => {// 原生 http 模块中req上的属性console.log(req.method, req.url);// 原生 http 模块中res上的方法res.send('获取图书列表成功!');
});
app.post('/api/addbook', (req, res) => {res.send('添加图书成功!');
});
6.响应头设置
// 设置响应状态码
res.status(201);
// 设置其他响应头
res.set({"Content-Type": "application/json"
});
7.请求参数接收
1.请求路径中的参数,根据所在位置不同有两种:查询参数和路由参数;(get/delete常用)
查询参数: req.query
路由参数: req.params
2.请求体参数一种,但是传递参数的类型,常见的有三种;(post/put常用)
请求体参数: req.body;
获取请求体参数需要配置一句话,三种类型对应三种不同的配置方式:
app.use( express.urlencode() ); 对应 content-type: application/x-www-form-urlencoded app.use( express.json() ); 对应 content-type: application/json const upload = multer({ dest: ‘uploads/’ }); (需要下载)
app.use( upload.single(‘avatar’) ); 对应 multipart/form-data (了解)
服务器和Express配置请求方式及参数接收相关推荐
- 2021 Axios 各种请求方式传递参数格式整理
目录 axios.request(config) axios.get(url[, config]) axios.delete(url[, config]) axios.post(url[, data[ ...
- SpringCloud中Feign服务调用请求方式及参数总结
前言 最近做微服务架构的项目,在用feign来进行服务间的调用.在互调的过程中,难免出现问题,根据错误总结了一下,主要是请求方式的错误和接参数的错误造成的.在此进行一下总结记录.以下通过分为三种情况说 ...
- SpringMVC总结三:请求Controller返回视图类型以及请求方式、参数介绍
视图解析,请求Controller返回的视图类型: @Controller @RequestMapping("/test") public class TestController ...
- feign调用多个服务_SpringCloud中Feign服务调用请求方式及参数总结(示例代码)
前言 最近做微服务架构的项目,在用feign来进行服务间的调用.在互调的过程中,难免出现问题,根据错误总结了一下,主要是请求方式的错误和接参数的错误造成的.在此进行一下总结记录.以下通过分为三种情况说 ...
- get 和 post 请求方式 及其参数解析
一.Get与Post区别 Get和Post都是Http协议的组件,所以底层都是使用tcp链接.Get的请求方式是将http的header和data一并发往服务端,也就是一条tcp数据包发送,这就会 ...
- C# WebApi Get请求方式传递实体参数
我又搞回笃NET啦!java之路真是命运多舛,好事多磨.不过,也许我已经进入无招胜有招,博取众家之长.融会贯通的地步了. 对于WebApi,今天又有了一些新的了解. 话说,Get请求方式,参数会附在U ...
- angularjs的$http请求方式
/*$http常用的几个参数$http服务的设置对象:1.method 字符串 表示发送的请求类型 get post jsonp等等2.url 字符串 绝对或者相对的URL,请求的目标3.params ...
- Http中post/get请求参数接收
1. Http请求报文 Http请求报文示例图如下: ①是请求方法,GET和POST是最常见的HTTP方法,除此以外还包括DELETE.HEAD.OPTIONS.PUT.TRACE.不过,当前的大多数 ...
- Spring MVC框架中关于限制请求方式
在Spring MVC框架中,@RequestMapping注解的主要作用是配置请求路径,除此以外,还可以配置请求方式,例如: @RequestMapping(value = "/add-n ...
最新文章
- centos出现磁盘坏道,怎么检索和修复
- Django13-ModelForm中的is_valid及局部钩子、全局钩子源码解析
- gentoo使用unicon支持中文
- SAP CRM Fiori 应用 my Opportunities 的后台性能分析
- C++ 数组在内存中的分配
- 第九章 Libgdx内存管理
- Linux sse 地址对齐指令,SSE指令:哪些CPU可以执行原子16B内存操作?
- 很火的深度学习框架PyTorch怎么用?手把手带你安装配置
- kgdb调试内核无法执行断点及kdb-22:Permisson denied
- ArcGIS License Server Administrator 10.2 无法启动许可的解决办法
- ASP.NETSpring.NETNHibernate最佳实践(七)——第3章人事子系统(4)人事子系统小结...
- windows 控制台cmd乱码的解决办法
- 沙箱 sandbox
- 计算机在高分子材料中的应用软件,计算机技术在高分子材料工程中的应用(10页)-原创力文档...
- 《python网络数据采集》读书笔记
- 微信小程序实现保存影集和图片到相册
- html5密码确认属性,HTML5表单及其验证【html自带属性验证】
- 使用FFmepg进行视频转码、视频格式转换、图片提取等!
- Deepin/Ubuntu debian系的Linux下更新nvidia显卡驱动(初次安装也可以选择该方案)
- 教妹学Java(九):一文搞懂Java中的基本数据类型