从0到1完成一个Node后端(express)项目(三、写接口、发起请求)

news2024/11/15 8:24:54

往期

从0到1完成一个Node后端(express)项目(一、初始化项目、安装nodemon)
从0到1完成一个Node后端(express)项目(二、下载数据库、navicat、express连接数据库)

写接口

我们看express的官网
在这里插入图片描述
它告诉了我们接口的书写反方式

那么我们自己书写一个GET接口

在这里插入图片描述
我们设置一些返回的数据

我们再书写一个POST接口

在这里插入图片描述

app.post('/reg', (req, res) => {
    // 调用express提供的res.send方法,向客户端返回一个JSON对象
    res.send({
        status: 200,
        message: 'reg success'
    })
})
app.get('/login', (req, res) => {
    // 调用express提供的res.send方法,向客户端返回一个JSON对象
    res.send({
        status: 200,
        message: 'login success',
        token: '123456asd'
    })
})

然后我们启动服务器,去请求接口

请求接口

我这个调试接口的工具是apifox,跟postman很像,具体用哪个看大家自己就行

然后我们发起一个快捷请求

在这里插入图片描述

127.0.0.1是我们本机的IP地址
8888是我们的端口
login就是我们请求的接口了

然后我们点击发送即可
在这里插入图片描述

我们发现,给了我们返回值了,这正是我们设置的,所以,请求成功

然后我们请求一下post接口

在这里插入图片描述

画箭头的是我们需要注意的地方,我们需要改成POST请求,要不会报400的错误

请求成功

带参数(params)的请求

一定要注意这里是params,不是query,二者是不一样的

通过req.params对象,通过req.params对象,可以访问到URL中,通过:匹配到的动态参数

在这里插入图片描述
在这里插入图片描述

注意事项: :参数名称 参数名称不是唯一的 是我们在服务器填写的

动态参数可以有多个,不一定是唯一

带多个参数
在这里插入图片描述

在这里插入图片描述

带参数(query)的请求

通过req.query属性,可以访问到客户端通过查询字符串的形式发送到服务器的参数

在这里插入图片描述
看好二者的区别

通过req.body属性获取到放在请求体中的参数

app.use(express.urlencoded({ extended: true })); // 用于解析放在requestBody中的url字符串
app.use(express.json()) // 用于解析放在requestBody中的JSON字符串// 监听客户端的GET和POST请求,并向客户端响应内容
app.get('/user', (req, res) => {
    // 通过req.body 获取请求体中的参数
    console.log(req.body);
    // 发送响应
    res.send(req.body)
})
app.post('/user', (req, res) => {
    // 通过req.body 获取请求体中的参数console.log(req.body);
    // 发送响应
    res.send(req.body)
})

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/165972.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于Linux部署Tomcat的访问问题

文章目录1.问题2.排除问题2.1检查Tomcat是否启动2.2检查防火墙&端口3.其他可能的问题3.1java的配置问题3.2可能出现了端口占用问题1.问题 在CentOS7系统的主机中配置好了Tomcat后发现通过默认端口无法访问到(http://xx:xx:xx:xx:8080) 2.排除问题 …

C语言在杨氏矩阵中找一个数

这道题大家都会做,使用暴力算法遍历整个数组。但是题目要求时间复杂度小于O(n),这样做显然不合题意,所以,通过分析杨氏矩阵的特点,我们发现矩阵右上角的那个数为一行中最大的,一列中…

SAP MM 新建移动类型(Movement Type)

一、概念 物料的移动类型(Movement Type)代表了货物的移动,当一个物料做某种移动时,便开始了如下一系列事件: 1、一个物料凭证会被创建,可以被用来作为移动的证明及作为其它任何相关应用的一个信息来源&am…

Jetson nano 入手系列之6—使用qt creator 开发c++ opencv+CSI摄像头人脸检测

Jetson nano 入手系列之6—使用qt creator 开发c opencvCSI摄像头人脸检测1.创建摄像头人脸检测项目1.1 创建并配置项目1.2 编辑文件1.2.1 main.cpp1.2.2 CMakeLists.txt2.构建及编译2.1 直接使用qt creator完成2.2 使用命令行参考文献本系列针对亚博科技jetson nano开发板。 …

一篇文章带你学会MySQL数据库的基本管理

目录 前言 一、数据库的介绍 二、mariadb的安装 三、数据库的开启及安全初始化 四、数据库的基本管理 五、数据库密码更改及破解 六、用户授权 七、数据库的备份 八、phpmyadmin的安装 总结 前言 什么是数据库? 每个人家里都会有衣柜,衣柜是…

前端效果积累 | 酷炫、实用3D地球路径飞行效果实现

📌个人主页:个人主页 ​🧀 推荐专栏:前端开发成神之路 --【这是一个为想要入门和进阶前端开发专门开启的精品专栏!从个人到商业的全套开发教程,实打实的干货分享,确定不来看看? &…

【C语言进阶】自定义类型之结构体

目录一:结构体1.1:结构的基础知识: 1.2:结构的声明: 1.3:特殊声明(匿名结构体): 1.4:结构的自引用: 1.5:结构体变量的定义和初始化&am…

springboot 项目自定义log日志文件提示系统找不到指定的文件

自己尝试搭建了一个springboot项目,自定义了log日志文件,启动后报错 Logging system failed to initialize using configuration from logback-spring.xml java.io.FileNotFoundException: E:\code_demo\xxxx\logback-spring.xml (系统找不到指定的文件…

Elasticsearch(二)--Elasticsearch客户端讲解

一、前言 在上一章我们大致了解了下elasticsearch,虽说上次的内容全是八股文,但是很多东西还是非常有用的,这些哪怕往小说作为面试,往大说是可以帮你很快的理解es是个什么玩意儿,所以还是非常推荐大家去看一下上一章内容。 这一章…

【C++】map和set的使用

​🌠 作者:阿亮joy. 🎆专栏:《吃透西嘎嘎》 🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 目录👉关联式容…

码二哥的技术专栏 总入口

已发表的技术专栏(订阅即可观看所有专栏) 0  grpc-go、protobuf、multus-cni 技术专栏 总入口 1  grpc-go 源码剖析与实战  文章目录 2  Protobuf介绍与实战 图文专栏  文章目录 3  multus-cni   文章目录(k8s多网络实现方案) 4  gr…

JVM整理笔记之测试工具JCStress的使用及其注解的应用

文章目录前言如何使用JCStress测试代码JCStress 注解说明前言 如果要研究高并发,一般会借助高并发工具来进行测试。JCStress(Java Concurrency Stress)它是OpenJDK中的一个高并发测试工具,它可以帮助我们研究在高并发场景下JVM&a…

RecyclerView 倒计时和正计时方案

本章内容一.方案制定二.设计三.编码相信不少同学都会在这里栽跟头,在思考这个问题设计了两套方案,而我的项目需求中需要根据业务是否反馈来进行倒计时和正计时的操作。一.方案制定 1.在Adapter中使用CountDownTimer 2.修改数据源更新数据 3.只修改页面展…

leetcode--各种数据结构相关的题

数据结构1.数组(1)找到所有数组中消失的数字(448)(2)旋转图像(48)(3)搜索二维矩阵 II(240)(4)最多能完成排序的块(769)2.栈和队列(1)用栈实现队列(232)&#…

“链引擎”(PBC)计划 | 太保集团长安链应用展示

引言 长安链“链引擎”计划(Powered by Chainmaker)(简称:PBC计划)是由长安链生态联盟发起的一项应用赋能计划,旨在以长安链技术体系为核心支撑,汇聚产业各方力量,为应用方提供技术、品牌、生态等支持&…

面试干货!初级软件测试面试题及答案题库一起奉上

软件测试工程师面试通常要经历技术面以及HR面,HR面一般都是日常问题,面试人可以临场发挥过去,但关乎岗位职责的技术面,可就没那么容易了,尤其是对于很多初次去面试测试岗位的没有任何测试岗位面试经验的转行人员&#…

Java并发面试题

基础知识 并发编程的优缺点 为什么要使用并发编程(并发编程的优点) 充分利用多核CPU的计算能力:通过并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升方便进行业务拆分,提升系统并发能力和性能&#…

【网络安全】内网介绍+windows信息收集(含命令)

目录 前言 一、内网渗透测试是什么? 1.介绍 2.内外网区别 3.工作组是什么? 4.域是什么? 5.域的知识点 6.活动目录 7.活动目录主要功能 8.域权限 二、windows信息收集 (1)系统信息 (2&#xff0…

【pandas】17 数据处理和绘图

【pandas】17 数据处理和绘图 2023.1.16 pandas数据处理方法和绘图:读取数据、更改数据、时间数据等 主要参考:https://mofanpy.com/tutorials/data-manipulation/pandas/time 17.1运算方法 17.1.1 筛选赋值运算 就是用前面的方法对数据进行筛选&#…

AI中Deepfake的部分研究前沿与文献综述

AI中Deepfake的部分研究前沿与文献综述一、研究现状二、典型算法:三、存在问题四、未来的研究热点参考文献:一、研究现状 由于Deepfake其潜在的安全威胁,它已经引起了学术界和工业界的研究兴趣。为了减轻这种风险,人们提出了许多…