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

dede新手做网站多久装修设计软件酷家乐

dede新手做网站多久,装修设计软件酷家乐,网站建设 中企动力阀门,为网站网站做推广API#xff08;应用程序编程接口#xff09;设计涉及创建一个高效而强大的接口#xff0c;允许不同的软件应用程序相互交互。 说明 本教程将指导您使用 Node.js 和 Express.js 作为核心技术来规划、设计和构建 API。但是#xff0c;这些原则可以应用于任何语言或框架。我们… API应用程序编程接口设计涉及创建一个高效而强大的接口允许不同的软件应用程序相互交互。 说明 本教程将指导您使用 Node.js 和 Express.js 作为核心技术来规划、设计和构建 API。但是这些原则可以应用于任何语言或框架。我们将创建一个简单的在线市场 API 作为工作示例。 让我们开始吧 第 I 部分规划 API 确定目的设计 API 的第一步是确定它的用途。我们的 API 适用于在线市场用户可以在其中查看待售商品并进行购买。定义资源接下来确定 API 将处理的不同类型的数据。对于我们的市场我们需要“物品”和“购买”的资源。设计终结点每个资源都应具有一组关联的终结点这些终结点允许客户端与数据进行交互。使用 REST 原则我们将为“项目”和“购买”创建终结点。 以下是 API 端点的粗略草图 GET /items获取所有项目GET /items/id获取特定项目POST /items添加新项目仅限管理员DELETE /items/id删除项目仅限管理员POST /purchases进行新的购买 第 II 部分构建 API 在本教程中需要在计算机上安装 Node.js 和 npm。为您的项目创建一个新目录在终端中导航到该目录然后初始化一个新的 Node.js 项目 mkdir marketplace-api cd marketplace-api npm init -y 接下来安装 Express.js一个流行的 Node.js Web 框架 npm install express 2.1 设置服务器 让我们从设置一个基本的 Express 服务器开始。创建一个名为 app.js const express require(express); const app express();app.listen(3000, () console.log(Server listening on port 3000)); 您可以使用 启动服务器。服务器将在端口 3000 上启动。node app.js 2.2 创建终结点 让我们创建之前计划的终结点。首先我们需要定义我们的数据。为简单起见我们将使用内存中数组来存储数据 let items []; let purchases []; 我们还需要安装和使用 body-parser 中间件以便 Express 能够理解 JSON body npm install body-parser 然后在app.js const bodyParser require(body-parser); app.use(bodyParser.json()); 现在让我们创建终结点。以下是实现它们的方法 查看所有项目 app.get(/items, (req, res) {res.json(items); }); 查看特定项目 app.get(/items/:id, (req, res) {const item items.find(i i.id parseInt(req.params.id));if (!item) return res.status(404).send(Item not found);res.json(item); }); 添加项目仅限管理员 app.post(/items, (req, res) {// This should be protectedconst newItem {id: items.length 1,name: req.body.name,price: req.body.price};items.push(newItem);res.status(201).json(newItem); }); 删除项目仅限管理员 app.delete(/items/:id, (req, res) {// This should be protectedconst itemIndex items.findIndex(i i.id parseInt(req.params.id));if (itemIndex -1) return res.status(404).send(Item not found);const deletedItem items.splice(itemIndex, 1);res.json(deletedItem); }); 进行购买 app.post(/purchases, (req, res) {// This should also check if the item exists and if the user has enough fundsconst newPurchase {id: purchases.length 1,userId: req.body.userId,itemId: req.body.itemId,};purchases.push(newPurchase);res.status(201).json(newPurchase); }); 第III 部分: 测试您的 API 您可以使用 Postman 或 curl 等工具测试您的 API。确保每个终结点都按预期运行并正确处理错误。始终使用不同类型的输入和场景进行测试以确保 API 可靠。 第 IV 部分记录 API 好的 API 文档可以包括概述、身份验证步骤、端点描述、错误代码和示例。您可以手动创建 API 文档也可以使用工具自动生成 API 文档。 对于 Node.js您可以使用 Swagger UI Express 等工具自动生成交互式文档。以下是有关如何设置它的快速示例 安装必要的模块 npm install swagger-ui-express yamljs 2. 创建一个新的 Swagger 规范文件swagger.yaml swagger: 2.0 info:version: 1.0.0title: Marketplace API paths:/items:get:summary: Get all itemsresponses:200:description: A list of itemsschema:$ref: #/definitions/Item definitions:Item:type: objectproperties:id:type: integername:type: stringprice:type: number 3. 在以下环境中导入并使用 Swagger UIapp.js const swaggerUi require(swagger-ui-express); const YAML require(yamljs); const swaggerDocument YAML.load(./swagger.yaml);app.use(/api-docs, swaggerUi.serve, swaggerUi.setup(swaggerDocument)); 现在您可以在 中查看 API 文档。localhost:3000/api-docs 第 V 部分保护 API 您可以采取以下一些步骤来保护 API 第 1 步使用 HTTPS Express.js 本身不支持 HTTPS但在部署应用程序时请确保使用支持 HTTPS 的提供程序例如 AWS、Azure 或 Heroku。 第 2 步身份验证 Express.js 没有内置的身份验证支持但您可以使用 Passport.js 等中间件来处理此问题。 下面是如何设置基于令牌的身份验证的简化示例 安装 Passport.js 和 JWT 策略 npm install passport passport-jwt jsonwebtoken 2. 在您的 app.js const jwt require(jsonwebtoken); const passport require(passport); const JwtStrategy require(passport-jwt).Strategy;// Users should be stored in a database let users [{ id: 1, name: test, password: test, token: }];// JWT strategy passport.use(new JwtStrategy({ secretOrKey: secret }, (jwtPayload, done) {const user users.find(user user.id jwtPayload.id);if (user) {return done(null, user);} else {return done(null, false);} }));// Login route app.post(/login, (req, res) {const user users.find(user user.name req.body.username user.password req.body.password);if (user) {const token jwt.sign({ id: user.id }, secret);user.token token;res.json({ token });} else {res.sendStatus(401);} });// Protected route app.post(/items, passport.authenticate(jwt, { session: false }), (req, res) {// Process request... }); 此设置要求客户端在标头中发送令牌。BearerAuthorization 第 3 步授权 对于授权请在处理请求之前检查用户的角色。例如 app.post(/items, passport.authenticate(jwt, { session: false }), (req, res) {if (req.user.role ! admin) return res.sendStatus(403);// Process request... }); 第 4 步速率限制 Express.js 本身不支持速率限制但有一些中间件包可以使用express-rate-limit npm install express-rate-limit 然后在您的 app.js const rateLimit require(express-rate-limit);const apiLimiter rateLimit({windowMs: 15 * 60 * 1000, // 15 minutesmax: 100 });app.use(/api/, apiLimiter); 第 5 步输入验证 始终验证 API 的输入。例如 app.post(/items, (req, res) {if (!req.body.name || !req.body.price) return res.status(400).send(Invalid input);// Process request... }); 第 6 步错误处理 错误处理对于防止信息泄露非常重要。Express.js 会自动处理未捕获的异常并发送响应。自定义错误处理如下所示500 Internal Server Error app.use((err, req, res, next) {console.error(err.stack);res.status(500).send(Something broke!); }); 请记住安全是一个持续的过程。始终了解最新的安全最佳实践并定期审核 API 是否存在漏洞。瓦利德·穆萨
http://www.dnsts.com.cn/news/11006.html

相关文章:

  • wap网站生成旅游去过的地方可做标识网站
  • 国外时尚设计网站东莞seo网站推广建设
  • 旅游网站经营模式四川泸州做网站的公司有哪些
  • 大连网龙建站优化推广浙江省电子商务网站建设
  • 综合型网站建设国外优秀网站建设
  • 在线建站软件石家庄互联网传销多少律师
  • 网站规划的要素不包括东莞房价二手房
  • 广州网站建设推广公司哪家好山西网络科技有限公司
  • 免费搭建网站 优帮云深圳市公共资源交易中心官网
  • 哪个网站可以做照片分享企业网站一般做多宽
  • 科技企业网站中等职业学校专业建设规划
  • 中牟网站制作网站建设林晓东
  • 正规的网站建设官网做词频云图的网站
  • 桃浦做网站电子政务网站建设出版社
  • 做pc端网站包括哪些做简单网站需要学什么
  • 登封网站设计成都的科技公司有哪些
  • 制作网页和网站的区别网站域名备案需要资料
  • 集安网站制作对网站做数据统计的目的是什么意思
  • 营销网站建站公司个人做多个网站备案
  • 古镇网站建设制作wordpress 4 xmlrpc
  • 网站怎么做seo_郴州网站建设公司哪个好
  • 长沙网站建设及推广公司福永网站设计
  • 网站建设及seo做画册去什么网站找素材
  • 钟表 东莞网站建设深圳广告公司
  • 手机改ip地址软件免费seo怎么做最佳
  • 科技公司网站推荐网站开发实训要求
  • 重庆网站建设的价格低西安便宜的网站建设
  • 虚拟主机有哪些搜索引擎优化哪些方面
  • 自动搭建网站源码wordpress登录栏
  • 墨星写作网站网络营销文案创作思路有哪些