首页
学习
活动
专区
圈层
工具
发布

​eggjs实战

module.exports = UserController 注意,描述里用到了createUserRequest对象 在app下新建一个contract目录,新建index.js(定义标准接口的请求和返回格式...config.default.jsconfig.middleware = ['errorHandler'] 我们测试一下: 在del接口添加一个错误的a.a.a=1,运行: 异常处理的好处在于:统一数据返回格式...更新数据(findByIdAndUpdate) // service/user.js /** * 更新用户信息 * @param {*} id * @param...{*} values */ async findByIdAndUpdate(id, values) { return this.ctx.model.User.findByIdAndUpdate...框架提供了统一的入口文件( app.js)进行启动过程自定义,这个文件返回一个 Boot 类,我们可以通过定义 Boot 类中的生命周期方法来执行启动应用过程中的初始化工作。

3.4K20

从项目中由浅入深的学习koa 、mongodb(4)

框架 koa-bodyparser:解析body的中间件 koa-router :解析router的中间件 mongoose :基于mongdodb的数据库框架,操作数据 nodemon:后台服务启动热更新...// 各个表对应的控制器 │ ├── middleware // 中间件目录 │ │ └── resFormat.js // 格式化返回值...;status:状态,未设置默认为200或204;body:响应主体,string(提示信息) Buffer Stream(流) Object Array JSON-字符串化ull 无内容响应;get...:获取响应头字段;set:设置响应头;append:添加响应头;type:响应类型;lastModified:返回为 Date, 如果存在;etag:设置缓存 6.koa-router主要API API...updateOne 更新一个 updateMany 更新多个 findOneAndUpdate 找到一个并更新 findByIdAndUpdate 通过id查找并更新 findOneAndRemove

2.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    通过Model.remove删数据方法

    通过Model.remove方法 现在推荐使用Model.deleteOne Model.deleteMany来删除 用法一样 不传入参数会删除该表的所有数据 该方法返回的是删除数据的条数,不会返回被删除数据..." }); data.forEach((item) => { item.remove(); }); 通过Model.findOneAndRemove方法 删除符合条件的第一条数据,并将这条数据返回...,不是返回修改后的数据 先指定查询的条件,再在第二个参数放入修改的数据,第三个参数为一些设置 const datas = await User.updateOne({ name: "1" }, { $set...upsert false 是没有这张表时是不是新建数据 setDefaultsOnInsert 如果upsert选项为true,在新建时插入文档定义的默认值 strict 以strict模式进行更新...findOne findById则不是 data.forEach((item) => { item.name = "1"; item.save(); }); 通过findOneAndUpdate findByIdAndUpdate

    82500

    AJAX如何向服务器发送请求?

    更新页面内容:根据服务器响应的数据,可以使用JavaScript代码来更新页面的部分内容,从而实现动态加载和更新数据。使用AJAX发送GET请求对于简单的数据获取和展示,一般使用GET请求。...在服务器返回响应时,回调函数会被触发。通过检查xhr对象的readyState和status属性,可以判断服务器响应的状态。...当readyState为4且status为200时,表示接收到了完整的服务器响应。最后,通过responseText属性获取服务器响应的内容,并将其更新到页面的指定元素中。...当服务器返回响应时,回调函数中的代码会被执行。在这个例子中,将服务器返回的响应内容更新到页面的指定元素中。...AJAX的应用场景AJAX技术在Web开发中有广泛的应用场景,其中包括但不限于以下几种:动态加载内容:AJAX可以帮助我们在不刷新整个页面的情况下,动态加载和更新页面的部分内容。

    1.9K30

    常见的HTTP状态码有哪些?

    当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。 HTTP状态码的英文为HTTP Status Code。...下面是常见的HTTP状态码: 常用的状态码简述 2XX 一般是请求成功 200 正常处理 204 成功处理,但服务器没有新数据返回,显示页面不更新 206 对服务器进行范围请求,只返回一部分数据 3XX...【永久重定向】 302 请求的资源临时分配了新的URI中,URL地址没变【转发】 303 与302相同的功能,但明确客户端应该采用GET方式来获取资源 304 发送了附带请求,但不符合条件【返回未过期的缓存数据...】 307 与302相同,但不会把POST请求变成GET 4XX 表示客户端出错了 400 请求报文语法错误了 401 需要认证身份 403 没有权限访问 404 服务器没有这个资源 5XX 服务器出错了

    86020

    常见的HTTP状态码有哪些

    当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求。 HTTP状态码的英文为HTTP Status Code。...下面是常见的HTTP状态码: 常用的状态码简述 2XX 一般是请求成功 200 正常处理 204 成功处理,但服务器没有新数据返回,显示页面不更新 206 对服务器进行范围请求,只返回一部分数据 3XX...【永久重定向】 302 请求的资源临时分配了新的URI中,URL地址没变【转发】 303 与302相同的功能,但明确客户端应该采用GET方式来获取资源 304 发送了附带请求,但不符合条件【返回未过期的缓存数据...】 307 与302相同,但不会把POST请求变成GET 4XX 表示客户端出错了。

    1.3K00

    什么是RESETful API 设计规范?

    为其提供版本支持 目前比较常见的两种版本号形式: 在 URL 中嵌入版本编号,这种做法是版本号直观、易于调试 api.example.com/v1/* 另一种做法是,将版本号放在 HTTP Header 头中,但不如放入...一定不可 所有接口都返回状态码为 200 的 HTTP 响应,如: HTTP/1.1 200 ok Content-Type: application/json Server: example.com..."code": -1, "msg": "该API不存在", } 下表列举了常见的 HTTP 状态码 状态码 描述 1xx 代表请求已被接受,需要继续处理 2xx 请求已成功,请求所希望的响应头或数据体将随此响应返回...3xx 重定向 4xx 客户端原因引起的错误 5xx 服务端原因引起的错误 只有来自客户端的请求被正确的处理后才能返回 2xx 的响应,所以当 API 返回 2xx 类型的状态码时,前端 必须 认定该请求已处理成功...目前常见返回错误信息的方法有两种: 将错误详细放入 HTTP 响应首部 直接放入响应实体中 建议参考 理解RESTful架构 RESTful API 设计指南 RESETful API 设计规范

    3.5K20

    HTTP状态码以及 ajax状态

    HTTP状态码 xhr.status/xhr.statusText200 OK202 Accepted :服务器已接受请求,但尚未处理(异步)204 No Content:服务器成功处理了请求,但不需要返回任何实体内容...305 Use Proxy400 Bad Request : 请求参数有误401 Unauthorized:权限(Authorization)403 Forbidden 服务器拒绝执行「拒绝原因可能会以响应主体返回...Service Unavailable  超负荷505 HTTP Version Not Supported  HTTP版本不支持AJAX 是一种通过 JavaScript 发送异步请求的技术,用于更新页面部分内容而无需刷新整个页面...ajax状态 xhr.readyState0 UNSENT 创造出来xhr实例就是01 OPENED 执行open方法后就会由0变成12 HEADERS_RECEIVED 响应头信息已经返回3 LOADING...响应主体信息正在处理4 DONE 响应主体信息已经返回我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

    57450

    接口测试中常见的问题有哪些?

    然后是响应的问题,比如HTTP状态码不对,返回的数据结构或内容有问题,或者性能方面的响应时间过长。。。。。。一、请求参数问题必填字段缺失未传递接口文档中定义的必填参数,导致接口返回错误。...二、响应结果问题HTTP状态码错误成功/失败场景未返回正确的状态码(如 200、400、500)。示例:用户未授权时未返回 401,而是返回 200。...数据一致性错误接口操作后数据库数据未同步更新。示例:支付接口返回成功,但订单状态未变为“已支付”。三、异常场景处理不足未处理异常输入未对非法字符、超长字符串、特殊符号等进行过滤。...响应时间过长接口未优化 SQL 查询或缓存机制,导致延迟高。接口测试需关注:规范文档:确保接口文档与实际一致。全面覆盖:设计用例覆盖正常、异常、边界场景。...为了有效解决这些问题,团队需要采取一系列措施,包括但不限于编写详细的接口文档、确保输入输出的有效性和合法性、使用合适的自动化工具进行性能和安全测试、定期检查和更新接口版本以及维护良好的沟通渠道以确保所有利益相关者都了解最新的变更情况

    53400

    Vue,React,微信小程序,快应用,TS 和 Koa 一把梭

    Model 类似vue的model 6.5 TS语法 数据类型 any(任意类型);number;string,boolean;数组:number[]或new Array(项的数据类型相同);void返回值类型...// 各个表对应的控制器 │ ├── middleware // 中间件目录 │ │ └── resFormat.js // 格式化返回值...;status:状态,未设置默认为200或204;body:响应主体,string(提示信息) Buffer Stream(流) Object Array JSON-字符串化ull 无内容响应;get...:获取响应头字段;set:设置响应头;append:添加响应头;type:响应类型;lastModified:返回为 Date, 如果存在;etag:设置缓存 7.7 koa-router主要API...updateOne 更新一个 updateMany 更新多个 findOneAndUpdate 找到一个并更新 findByIdAndUpdate 通过id查找并更新 findOneAndRemove

    3.4K20

    HTTP 缓存机制

    304 Not Modified 表示浏览器可以使用本地缓存文件,否则返回 200 OK 正常返回数据。...值得注意的是,虽然以上常用字段都是响应头的字段,但是 Cache-Control 同时也支持请求头,例如 Cache-Control: max-stale= 表明客户端愿意接收一个已经过期但不能超出...通过更新资源文件名来强制更新命中强缓存的资源。 3. 协商缓存 3.1 ETag / If-None-Match 通过唯一标识来验证缓存。...如果资源请求的响应头里含有 ETag,客户端可以在后续的请求的头中带上 If-None-Match 头来验证缓存。若服务器判断资源标识一致,则返回 304 状态码告知浏览器可从本地读取缓存。...降低网络延迟,加快页面响应速度,增强用户体验。 缺点 不恰当的缓存设置可能会导致资源更新不及时,导致用户获取信息滞后。 参考资料 HTTP Caching

    1.1K20

    HTTP 状态码1 状态码告知从服务器端返回的请求结果2 2XX 成功3 3XX 重定向4 4XX 客户端错误5 5XX 服务器错误

    2 2XX 成功 2XX 的响应结果表明请求被正常处理了。 2.1 200 OK ? 这里写图片描述 表示从客户端发来的请求在服务器端被正常处理了。...在响应报文内,随状态码一起返回的信息会因方法的不同而发生改变。...比如 使用 GET 方法时,对应请求资源的实体会作为响应返回; 使用 HEAD 方法时,对应请求资源的实体首部不随报文主体作为响应返回(即在响应中只返回首部,不会返回实体的主体部 分)。...比如,用户把 URI 保存成书签,但不会像 301 状态码出现时那样去更新书签,而是仍旧保留返回 302 状态码的页面对应的 URI 4 4XX 客户端错误 4XX 的响应结果表明客户端是发生错误的原因所在...另外,浏览器会像 200 OK 一样对待该状态码。 4.2 404 Not Found 该状态码表明服务器上无法找到请求的资源。除此之外,也可以在服务器端拒绝请求且不想说明理由时使用。

    3K71
    领券