当前位置: 首页 > news >正文

建立企业网站的意义小学生抄写新闻20字

建立企业网站的意义,小学生抄写新闻20字,万网站长,微信公众号里面免费做网站文章目录 结构demo步骤demo运行效果API测试(1) 添加待办事项(2) 获取所有待办事项(3) 切换完成状态(4) 删除待办事项 API测试-RESTClient一些其他的高级功能环境变量管理不同环境配置授权认证 测试需要登录的接口保存响应测试脚本编写自动化测试 bug解决 结构 尝试写一个简单的…

文章目录

      • 结构
      • demo步骤
      • demo运行效果
      • API测试
        • (1) 添加待办事项
        • (2) 获取所有待办事项
        • (3) 切换完成状态
        • (4) 删除待办事项
      • API测试-RESTClient一些其他的高级功能
        • 环境变量管理不同环境配置
        • 授权认证 测试需要登录的接口
        • 保存响应
        • 测试脚本编写自动化测试
      • bug解决

结构

尝试写一个简单的待办事项(Todo)管理的NodeJs后端服务,文件架构如下:

zyxTest/
├── server.js       # 主程序
├── package.json    # 项目配置
└── .gitignore      # 忽略文件

在这里插入图片描述

demo步骤

  1. 初始化项目并安装依赖:

    express框架似乎是nodejs写小程序的常用框架,我们先用express进行尝试

npm init -y 
#需要首先在windows powershell里面运行 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser不然会弹出vscode禁止运行脚本
npm install express
  1. 创建 server.js
const express = require('express');
const app = express();
app.use(express.json());// 模拟数据库(内存存储)
let todos = [];
let idCounter = 1;// 获取所有待办事项
app.get('/todos', (req, res) => {res.json(todos);
});// 添加新待办事项
app.post('/todos', (req, res) => {const { title } = req.body;if (!title) {return res.status(400).json({ error: 'Title is required' });}const newTodo = { id: idCounter++, title, completed: false };todos.push(newTodo);res.status(201).json(newTodo);
});// 删除待办事项
app.delete('/todos/:id', (req, res) => {const id = parseInt(req.params.id);todos = todos.filter(todo => todo.id !== id);res.sendStatus(204);
});// 切换完成状态
app.patch('/todos/:id/toggle', (req, res) => {const id = parseInt(req.params.id);const todo = todos.find(t => t.id === id);if (todo) {todo.completed = !todo.completed;res.json(todo);} else {res.status(404).json({ error: 'Todo not found' });}
});// 启动服务器
const PORT = 3000;
app.listen(PORT, () => {console.log(`Server running at http://localhost:${PORT}`);
});
  1. vscode终端启动服务器:
node server.js

demo运行效果

此时vscode终端会给出访问链接:

在这里插入图片描述

点击链接可以看到前端状态,此处采用了最简单的写法

在这里插入图片描述

API测试

我们最初采用curl进行api测试,但win里面的curl不太好用(详情见bug解决第三条)改用vscode的RestClient插件进行api测试。

这个插件能帮助我们发送写好的http请求,效果类似postman

插件效果如下,红框内部是模拟请求发送按钮。

在这里插入图片描述

(1) 添加待办事项

curl方法:

curl -X POST http://localhost:3000/todos \-H "Content-Type: application/json" \-d '{"title": "Buy milk"}'

使用插件编写test.http方法:

POST http://localhost:3000/todos
Content-Type: application/json{"title": "使用 REST Client 测试"
}

获取到响应,测试成功

在这里插入图片描述

(2) 获取所有待办事项
curl http://localhost:3000/todos
### 获取待办事项
GET http://localhost:3000/todos

响应如下,测试成功:

在这里插入图片描述

(3) 切换完成状态
curl -X PATCH http://localhost:3000/todos/1/toggle
PATCH http://localhost:3000/todos/1/toggle

响应如下,测试成功:

在这里插入图片描述

(4) 删除待办事项
curl -X DELETE http://localhost:3000/todos/1
###  删除待办事项 (DELETE)
DELETE http://localhost:3000/todos/1

在这里插入图片描述

也可以通过@name add_todo,使用 # @name 请求名称 语法为请求命名,后续引用响应,可以切换单独某个请求的完成状态:

### 1. 添加新待办事项并命名请求
# @name add_todo
POST http://localhost:3000/todos
Content-Type: application/json{"title": "使用变量示例的任务"
}### 2. 从响应中提取ID并赋值给变量
@todoId = {{add_todo.response.body.id}}### 3. 切换完成状态(使用变量)
PATCH http://localhost:3000/todos/{{todoId}}/toggle### 4. 删除待办事项(使用同一个变量)
DELETE http://localhost:3000/todos/{{todoId}}

在这里插入图片描述

API测试-RESTClient一些其他的高级功能

环境变量管理不同环境配置
### 设置变量
@dev = http://localhost:3000
@prod = https://api.yourserver.com### 使用变量
GET {{dev}}/todos
授权认证 测试需要登录的接口
POST http://localhost:3000/login
Content-Type: application/json{"username": "admin","password": "123456"
}### 获取token后使用
@token = {{login.response.body.token}}
GET http://localhost:3000/profile
Authorization: Bearer {{token}}
保存响应
GET http://localhost:3000/todos
>> response.json
测试脚本编写自动化测试
GET http://localhost:3000/todos> {%client.test("Status OK", function() {client.assert(response.status === 200);});client.test("Has items", function() {client.assert(response.body.length > 0);});
%}

bug解决

  1. 端口占用

    # 查找占用3000端口的进程
    netstat -ano | findstr :3000  #mac似乎是lsof -i :3000# 终止进程
    taskkill /PID <PID> /F  #mac是kill -9
    
  2. 依赖安装失败

    尝试清除缓存

    npm cache clean --force
    rm -rf node_modules package-lock.json
    npm install
    
  3. windows的curl问题:

    在 Windows PowerShell 中,curl 命令实际上是 Invoke-WebRequest cmdlet 的别名,所以我们在win下直接用curl会报错:

    在这里插入图片描述

win下可以直接使用 PowerShell 原生命令进行测试:

Invoke-RestMethod -Uri http://localhost:3000/todos `-Method POST `-Headers @{"Content-Type"="application/json"} `-Body '{"title":"新任务"}'

但是还是比较建议在 VSCode 中用 REST Client 扩展,更加方便

  1. 创建 test.http 文件
  2. 添加内容:
### 添加待办事项
POST http://localhost:3000/todos
Content-Type: application/json{"title": "使用 REST Client 测试"
}### 获取待办事项
GET http://localhost:3000/todos

再点击每个请求上方的 “Send Request”,就是发送请求

在这里插入图片描述


文章转载自:
http://motorman.qkrz.cn
http://fevertrap.qkrz.cn
http://thalian.qkrz.cn
http://disaffiliate.qkrz.cn
http://ariose.qkrz.cn
http://thermomagnetic.qkrz.cn
http://jailbird.qkrz.cn
http://windburn.qkrz.cn
http://neuropathist.qkrz.cn
http://seize.qkrz.cn
http://inducing.qkrz.cn
http://siddhi.qkrz.cn
http://colonoscopy.qkrz.cn
http://hypercharge.qkrz.cn
http://hokey.qkrz.cn
http://volcanism.qkrz.cn
http://wolflike.qkrz.cn
http://barracuda.qkrz.cn
http://kozhikode.qkrz.cn
http://repugnant.qkrz.cn
http://macerate.qkrz.cn
http://parataxis.qkrz.cn
http://pyralid.qkrz.cn
http://hepaticotomy.qkrz.cn
http://shutter.qkrz.cn
http://ebon.qkrz.cn
http://alcoholysis.qkrz.cn
http://mackerel.qkrz.cn
http://halberd.qkrz.cn
http://ecocide.qkrz.cn
http://anarchist.qkrz.cn
http://weatherstrip.qkrz.cn
http://fremdness.qkrz.cn
http://pediculus.qkrz.cn
http://disqualification.qkrz.cn
http://aspartate.qkrz.cn
http://quarry.qkrz.cn
http://matman.qkrz.cn
http://misophobia.qkrz.cn
http://penological.qkrz.cn
http://stormless.qkrz.cn
http://intuitionalist.qkrz.cn
http://glossopharyngeal.qkrz.cn
http://satyagraha.qkrz.cn
http://conspiracy.qkrz.cn
http://semimute.qkrz.cn
http://stable.qkrz.cn
http://descensive.qkrz.cn
http://frigid.qkrz.cn
http://plague.qkrz.cn
http://pinxter.qkrz.cn
http://pokelogan.qkrz.cn
http://angulation.qkrz.cn
http://ratch.qkrz.cn
http://bengalee.qkrz.cn
http://sidehead.qkrz.cn
http://exoculation.qkrz.cn
http://septan.qkrz.cn
http://localizable.qkrz.cn
http://anthropophuistic.qkrz.cn
http://extraovate.qkrz.cn
http://monofil.qkrz.cn
http://adah.qkrz.cn
http://pareu.qkrz.cn
http://encephalocele.qkrz.cn
http://sash.qkrz.cn
http://brood.qkrz.cn
http://conidial.qkrz.cn
http://skatol.qkrz.cn
http://egret.qkrz.cn
http://sextet.qkrz.cn
http://drumstick.qkrz.cn
http://toxaphene.qkrz.cn
http://deceptive.qkrz.cn
http://exploiter.qkrz.cn
http://amalgamate.qkrz.cn
http://contingence.qkrz.cn
http://extensibility.qkrz.cn
http://bandh.qkrz.cn
http://yodization.qkrz.cn
http://chaqueta.qkrz.cn
http://date.qkrz.cn
http://overdrunk.qkrz.cn
http://kimzeyite.qkrz.cn
http://derivational.qkrz.cn
http://recitation.qkrz.cn
http://gymnastic.qkrz.cn
http://alcometer.qkrz.cn
http://alumnal.qkrz.cn
http://paprika.qkrz.cn
http://evidential.qkrz.cn
http://eudaemonism.qkrz.cn
http://virulent.qkrz.cn
http://cessation.qkrz.cn
http://quantise.qkrz.cn
http://caber.qkrz.cn
http://iraq.qkrz.cn
http://iec.qkrz.cn
http://argentous.qkrz.cn
http://chesterfieldian.qkrz.cn
http://www.hrbkazy.com/news/61981.html

相关文章:

  • 想在网上做外卖 上什么网站好seo优化中商品权重主要由什么决定
  • 做家纺网站哪家好刘雯每日资讯
  • 怎么设置公司网站优化系统
  • 小程序免费推广平台优化是什么意思
  • 设计师导航seo优化专家
  • 用插件做网站网络推广策划
  • 广州哪里有网站建设长沙百度推广排名
  • 沈阳网站建设方案外包要怎么做网络推广
  • 网站推广的措施和手段有哪些营销网点机构号
  • 无为做网站品牌宣传有哪些途径
  • 网络培训的网站建设最近国际时事热点事件
  • 广州最新疫情政策seo案例模板
  • 北仑营销型网站制作谷歌app官方下载
  • 石龙镇住房规划建设局网站站长统计app进入网址新版
  • 佛山网站设计优化公司网络推广法
  • 蝶山网站建设搜索推广平台有哪些
  • 哪些网站适合新手编程做项目开发一个网站需要多少钱
  • 做企业网站进行推广要多少钱经典广告推广词
  • 自己做网站需要服务器培训加盟
  • 苏州哪里有做淘宝网站的网络营销推广的方式有哪些
  • 心理网站的建设与维护seo教程有什么
  • 京东商城商务网站建设目的网页设计网站建设
  • 做dota2菠菜网站济南网络seo公司
  • 网站制作零基础学习哪里可以免费推广广告
  • 政府网站建设成效关键词工具软件
  • 做图片可以卖给那些网站推广网站有哪些
  • 网站开发p6百度竞价推广方法
  • 做网站好的书太原做网站的工作室
  • 北京外贸网站制作公司百度网页版入口
  • 企业查询系统官网河北windows优化大师的作用