【发布时间】:2022-11-21 07:22:24
【问题描述】:
拜托,我需要使用 Node js 和 Express 框架创建一个后端应用程序,以从 json 文件获取发布和修改用户数据。说实话,我不知道如何管理 JSON 文件,我正在搜索信息,但我仍然有错误,所以我需要这个应用程序的帮助,我已经尝试过我在下面发布的一些代码。
功能如下:
- "/add" -> POST 方法 -> 该路由应该将随请求正文发送的数据添加到 post.json 文件中
如果数据添加成功,那么你应该发送一个200的响应码
这就是为什么我到现在为止。
app.post("/add", function(req, resp){ var jsonObject = req.body; var jsonFile = fs.readFileSync("post.json", "UTF8"); var jsonArray = JSON.parse(jsonFile); jsonArray.push(jsonObject); jsonFile = JSON.stringify(jsonArray); resp.json(jsonFile); fs.writeFileSync("post.json",jsonFile,"utf-8"); });- "/view" -> GET 方法 -> 该路由有一个名为 id 的可选查询参数。如果请求没有传递查询参数,那么您应该从 get.json 文件中获取所有数据。如果某些 id 与请求查询参数一起传递,那么您应该发送 id 等于请求查询附带的 id 的用户的详细信息
如果数据获取成功,那么你应该发送一个 200 的响应码
这就是为什么我直到现在......
var express = require('express'); var url = require('url'); var app = express(); var fs = require('fs'); app.get('/view', function(req, resp){ var queryURL = url.parse(req.url, true).query; var jsonFile = fs.readFileSync("post.json", "UTF8"); var data = JSON.parse(jsonFile); if(typeof queryURL.id === "undefined" || queryURL.id == 0){ resp.json(data); }else{ resp.json(data[queryURL.id-1]); } }); app.listen(3000);- /edit/:id -> PATCH 方法 -> 如果用户在 post.json 中的 id 等于请求 URL 附带的 id,则此路由应更新值。您可以更新用户的姓名、年龄和电子邮件。
如果数据更新成功,那么你应该发送一个状态码 200
在这种情况下,我不知道如何进行!!!
【问题讨论】:
标签: javascript node.js express