使用【node】创建本地接口

news2024/9/25 23:20:50

在前端开发的过程中,接口相关的信息一般是由后端处理好返回给前端,但是有时候后端不在的时候想自己写个接口进行测试是非常麻烦的。
node是前端一个不错的写接口工具

一 初始化文件

1 在新建一个空的文件夹node

进入空文件夹在,文件夹的地址栏输入cmd回车,会自动跳转到命令行工具里
在这里插入图片描述

2 配置初始化文件

在命令行输入命令npm init,生成package.json文件

npm init

在这里插入图片描述

在node文件夹下看到package.json文件,配置文件创建成功

3 express

node开发接口,我们需要借助node的插件
Express 是一个简洁而灵活的 node.js Web应用框架, 提供一系列强大特性帮助你创建各种Web应用。Express 不对 node.js 已有的特性进行二次抽象,我们只是在它之上扩展了Web应用所需的功能。丰富的HTTP工具以及来自Connect框架的中间件随取随用,创建强健、友好的API变得快速又简单。
Express 框架核心特性:

  • 可以设置中间件来响应 HTTP 请求。
  • 定义了路由表用于执行不同的 HTTP 请求动作。
  • 可以通过向模板传递参数来动态渲染 HTML 页面。

npm add express

4 接口

在node文件夹下 建一个index.js文件

//1. 引入express
const express = require('express');

//2. 创建应用对象
const app = express();

//3. 创建路由规则
// request 是对请求报文的封装
// response 是对响应报文的封装
app.get('/server/config', (request, response) => {
    let obj = {"supports_search":true,"supports_group_request":false,"supports_marks":true,"supports_timescale_marks":true,"supports_time":true,"exchanges":[{"value":"","name":"All Exchanges","desc":""},{"value":"NasdaqNM","name":"NasdaqNM","desc":"NasdaqNM"},{"value":"NYSE","name":"NYSE","desc":"NYSE"},{"value":"NCM","name":"NCM","desc":"NCM"},{"value":"NGM","name":"NGM","desc":"NGM"}],"symbols_types":[{"name":"All types","value":""},{"name":"Stock","value":"stock"},{"name":"Index","value":"index"}],"supported_resolutions":["D","2D","3D","W","3W","M","6M"]}
    console.log('我被请求了!!');
    //设置响应头  设置允许跨域
    response.setHeader('Access-Control-Allow-Origin', '*');
    response.send(obj)
});
app.post('/server/symbols', (request, response) => {
    let obj = {
        name:'接口请求成功了'
     }
    console.log('我被请求了!!');
    //设置响应头  设置允许跨域
    response.setHeader('Access-Control-Allow-Origin', '*');
    response.send(obj)
});


//4. 监听端口启动服务
app.listen(5500, () => {
    console.log("服务已经启动, 5500 端口监听中....");
});

5 运行

在index.js所在目录中 执行node 文件名运行项目

node inedx.js

在这里插入图片描述

通过apipost调用接口,可以看到接口能正常访问接口了
get请求
在这里插入图片描述
post请求
在这里插入图片描述

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

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

相关文章

《庆余年》开发衍生短剧,阅文迈向短剧市场的一大步

《庆余年》竟然也要拍短剧了。 据悉,《庆余年》衍生短剧《庆余年之少年风流》预计将于5月1日开机,等了五年都没等到《庆余年2》,没想到先等到了衍生短剧。 由组讯消息可知,《庆余年之少年风流》讲述的是少年庆帝李云潜“扮猪吃老…

一道有意思的面试题

面试过程中没有想到合适的数据结构,想了半天,构思没有实践落地。 也是听错了,以为三道题都要做,做出来了两道,这道死活没落地成功。 结果,三道题里面任选一道就行。。。。 好吧 题目:给定一个…

Qt分享一个壁纸页面布局的方式

分享一个壁纸软件的设计思路 在QScrollArea中添加一个总体的垂直布局,创建若干个水平布局,使用垂直布局组合,具体如图。在添加QAbstractButton时设置button.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)属性,它会…

自动化测试的7个步骤

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

Linux系统中Nginx的使用

Nginx是一款开源的高性能、高可靠性的Web服务器和反向代理服务器。它在Linux系统中得到了广泛的应用,被用于构建高性能的Web应用和提供反向代理服务。下面将介绍Nginx在Linux系统中的使用以及一些常见的应用案例。 一、Nginx的安装和配置 安装Nginx 在Linux系统中…

mysql 5.7分组报错问题 Expression #1 of ORDER BY clause is not in GROUP BY clause

解决方案: select version(), sql_mode;SET sql_mode(SELECT REPLACE(sql_mode,ONLY_FULL_GROUP_BY,)); 完美的解决方案是: 1 show variables like "sql_mode"; 2 3 set sql_mode; 4 set sql_modeNO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABL…

视频号背后的商机,私域电商悄悄崛起,这次新风口一定要抓住了

大家好,我是电商笨笨熊 随着电商的发展,从传统电商到直播电商,一代人有一代人不同的电商史; 而今年,视频号小店的推出,即将迎来新的电商热潮; 作为腾讯推出的电商项目,自推出之后…

SpringBoot项目启动的时候直接退出了?

SpringBoot项目启动的时候直接退出了? 如下图: 在启动SpringBoot项目的时候仅仅用了1.209s,然后直接退出了,也没有出现启动的项目对应的服务器端口号?为什么会这样呢?因为既然有服务器端口号 那么肯定会有…

【C++】学习笔记——类和对象_4

文章目录 二、类和对象13.运算符重载赋值运算符重载 14. 日期类的实现Date.h头文件Date.cpp源文件test.cpp源文件 未完待续 二、类和对象 13.运算符重载 赋值运算符重载 我们之前学了一个拷贝构造函数,本质上就是创建一个对象,该对象初始化为一个已经…

【智能算法】寄生捕食算法(PPA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2020年,AAA Mohamed等人受到自然界乌鸦-布谷鸟-猫寄生系统启发,提出了寄生捕食算法(Parasitism – Predation Algorithm, PPA)。 2.算法原理 2.1算法…

负采样重要吗?它的理论与应用综述

Does Negative Sampling Matter? A Review with Insights into its Theory and Applications 负采样重要吗?它的理论与应用综述 Does Negative Sampling Matter? A Review with Insights into its Theory and Applications Zhen Yang, Ming Ding, Tinglin Huang,…

7-23 币值转换 【C++】

有点颠的一个测试点&#xff0c;记录一下 测试点二&#xff0c;是看了一些AC代码才写出来的&#xff0c;至于原理我也不知道&#xff0c;就当多见识一点题目测试点的可能性吧 #include<iostream> #include<cstring> using namespace std; int main() {string a;ch…

vue-Router 路由(常量路由)

1、安装 pnpm i vue-router 2、新建文件&#xff1a;src/routes.ts import { RouteRecordRaw } from vue-routerexport const constantRoute: RouteRecordRaw[] [{//path: /,redirect: /login,},{//path: /login,component: () > import(/views/Login/index.vue),name…

进程及进程地址空间

进程理解 概念&#xff1a;进程是程序的一个执行实例&#xff0c;其实启动一个程序&#xff08;静态&#xff09;本质就是启动了一个进程&#xff08;动态&#xff09;&#xff0c;进程具有独立性。 用户角度&#xff1a;进程代码数据内核数据结构&#xff08;PCB结构体页表操…

mysql的DDL语言和DML语言

DDL语言&#xff1a; 操作数据库&#xff0c;表等&#xff08;创建&#xff0c;删除&#xff0c;修改&#xff09;&#xff1b; 操作数据库 1&#xff1a;查询 show databases 2:创建 创建数据库 create database 数据库名称 创建数据库&#xff0c;如果不存在就创建 crea…

【Qcom Camera】DumpDebugInfo分析

DumpDebugInfo&#xff1a; DumpDebugInfo主要包括Session::DumpDebugInfo、Pipeline::Dumpdebuginfo、Node::Dumpdebuginfo、DRQ::Dumpdebuginfo、Usecase::DumpDebugInfo log&#xff1a;Hit SOF threshold of [xx] consecutive frames CamX: [ERROR][CORE ] camxpip…

P8837 [传智杯 #3 决赛] 商店(贪心加双指针)

题目背景 思路解析:很经典的贪心问题,把物品按照从便宜到贵的顺序排好序,然后按照富贵程度排人,直接暴力会tle所以这里采用双指针. #include<iostream> #include<algorithm> #include<cstring> #include<cmath> #include<string> using namesp…

AI-数学-高中-39空间向量-2空间向量法(法向量)

原作者视频&#xff1a;【空间向量】【一数辞典】2空间向量法&#xff08;重要&#xff09;_哔哩哔哩_bilibili 法向量&#xff08;高中阶段所有与面的关系&#xff0c;都可以通过法向量去证明和解答&#xff09;&#xff1a; 是空间解析几何的一个概念&#xff0c;垂直于平面…

Java转go,我用了12小时,10小时在解决环境问题

Part1 问题背景 作为一个资深的Java开发者&#xff0c;我深知面向对象的高级语言&#xff0c;语法是不用学的。需要的时候搜索就可以了&#xff0c;甚至可以用ChatGPT来写。 之前我做一个安全多因素校验服务。因为是临时服务&#xff0c;扩展性上基本没有要求&#xff0c;为了快…

AI检索增强生成引擎-RAGFlow-深度理解知识文档,提取真知灼见

&#x1f4a1; RAGFlow 是什么&#xff1f; RAGFlow是一款基于深度文档理解构建的开源RAG&#xff08;Retrieval-Augmented Generation&#xff09;引擎。RAGFlow个人可以为各种规模的企业及提供一套专业的RAG工作流程&#xff0c;结合针对用户群体的大语言模型&#xff08;LL…