PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。 DELETE(DELETE):从服务器删除资源。...状态码规范 描述: 服务器向用户返回的状态码和提示信息,常见的有以下一些(方括号中是该状态码对应的 HTTP 动词)。...状态码 适用请求 备注 200 OK [GET] 服务器成功返回用户请求的数据 201 CREATED [POST/PUT/PATCH] 用户新建或修改数据成功。...返回与错误处理规范 描述: 在服务器返回的数据格式,应该尽量使用 JSON 避免使用 XML,在实际开发中常常也是使用 JSON。...6.启动 HTTP 端口之前,程序会 go 一个协程,来ping HTTP 服务器的 /sd/health 接口,如果程序成功启动,ping 协程在timeout 之前会成功返回,如果程序启动失败,则
提供两种方式实现: 方式一代码量更少,网络请求自带Loading,不需要手动调用Loading 方式二解耦更彻底 两种方式设计思路在解耦这一块存在差异,看具体需求,没有谁好谁差,依照自己的项目,哪个更方便用哪个...自带Loading状态,不需要手动启用Loading和关闭Loading。 数据驱动ui,以LiveData为载体,将页面状态和网络结果通过在LiveData返回给ui。...网络请求跟Loading状态分开了,需要手动控制Loading。 Repository中的方法都有返回值,会返回结果,也不需要用livedata作为方法参数。...针对多数据源,也非常好处理。 跟ui没任何关系,可以完全作为一个独立的Lib使用。...} } } Retrofit协程的错误码处理是通过异常抛出来的,所以通过try...catch来捕捉非200的错误码。包装成不同的数据类对象返回。
1.设计原则,如何分析 2.后端系统常用的组件(缓存、数据库、消息队列等等) 3.技术选型和实现(短网址服务、Feed 流系统) 1.9技术之外的软实力 1.学习能力 2.业务理解能力,沟通交流能力...答:异常就是一种错误处理机制。所有的异常都继承自 BaseException 。...2.5.3如何规避 GIL 的影响 1.CPU 密集型可以使用多进程 + 进程池的方式充分的利用多核。 2.IO 密集型可以使用多线程或者是协程。...3.生成器可以挂起执行并且保持当前执行的状态。 2.6.2基于生成器的协程 Python3 之前没有原生协程,只有基于生成器的协程。...7.大多数情况下,编写程序时,都是使用浅拷贝,除非有特定的需求。 8.浅拷贝的优点:拷贝速度快,占用空间少,拷贝效率高。 ?
也可以从介绍中看到官方的答案——插件化机制。 架构 如上图所示,我把整个 useRequest 分成了几个模块。 入口 useRequest。它负责的是初始化处理数据以及将结果返回。 Fetch。...是整个 useRequest 的核心代码,它处理了整个请求的生命周期。 plugin。在 Fetch 中,会通过插件化机制在不同的时机触发不同的插件方法,拓展 useRequest 的功能特性。...一个请求从开始到结束,如下图所示: 如果你比较仔细,你会发现基本所有的插件功能都是在一个请求的一个或者多个阶段中实现的,也就是说我们只需要在请求的相应阶段,执行我们的插件的逻辑,就能完成我们插件的功能...并且该方法中就可以看到整体请求的生命周期的处理。这跟上面插件返回的方法设计是保持一致的。...请求前 —— onBefore 处理请求前的状态,并执行 Plugins 返回的 onBefore 方法,并根据返回值执行相应的逻辑。
本文主要是我学习ajax的笔记,不涉及到原理,只是记录如何使用。如果有错欢迎各位大佬指出。提前先转一篇写的非常全面的博客你真的会使用XMLHttpRequest吗?...该状态码用于表示特定 HTTP 请求是否已成功完成,这个状态码是服务器发给浏览器的 2、status数值分类 ?...3.3)304 Not Modified(未改变) 如果客户端发送了一个带条件的 GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码 未改变说明无需再次传输请求的内容...=function(){ console.log('error')//一般是连接失败报错 } 坑1:onerror和status中的错误状态的区别 onerror是定义一个事件,当ajax连接失败...status是请求链接到服务器,服务器响应错误后服务器返回浏览器的状态码。
REST服务器更新ID为21的员工名称,并使用HTTP状态码200表示更改成功。...state=internal&maturity=senior 使用HTTP状态码 RESTful Web服务应使用合适的HTTP状态码来响应客户端请求 2xx - 成功 - 一切都很好 4xx - 客户端错误...- 如果客户端发生错误(例如客户端发送无效请求或未被授权) 5xx – 服务器错误 - 如果服务器发生错误(例如,尝试处理请求时出错) 参考维基百科上的HTTP状态代码。...401未授权 403 禁止 404 未找到 返回有用的错误提示 除了合适的状态码之外,还应该在HTTP响应正文中提供有用的错误提示和详细的描述。...长按二维码关注京程一灯,阅读更多技术文章和业界动态。
对浏览器的缓存机制的理解浏览器缓存的全过程:浏览器第一次加载资源,服务器返回 200,浏览器从服务器下载资源文件,并缓存资源文件与 response header,以供下次加载时对比使用;下一次加载资源时...HTTP状态码1xx 信息性状态码 websocket upgrade2xx 成功状态码200 服务器已成功处理了请求204(没有响应体)206(范围请求 暂停继续下载)3xx 重定向状态码301(永久...400 客户端参数错误401 没有登录403 登录了没权限 比如管理系统404 页面不存在405 禁用请求中指定的方法5xx 服务端错误状态码500 服务器错误:服务器内部错误,无法完成请求502 错误网关...异步指的是当一个进程在执行某个请求时,如果这个请求需要等待一段时间才能返回,这个时候进程会继续往下执行,不会阻塞等待消息的返回,当消息返回时系统再通知进程进行处理。如何防御 XSS 攻击?...可以看到XSS危害如此之大, 那么在开发网站时就要做好防御措施,具体措施如下:可以从浏览器的执行来进行预防,一种是使用纯前端的方式,不用服务器端拼接后返回(不使用服务端渲染)。
如何实现扫码登录 开发工具:MacOS、IDEA 技术栈:JDK1.8、SpringBoot、Thymeleaf、websocket、ZXing、jjwt 项目简介: 最近在想要打通各个子项目,于是搭建一个统一认证平台就成了任务的核心...开发原理: 二维码生成技术使用谷歌开源的ZXing框架 前台采用Thymeleaf模版获取初始化数据 前后端通讯方式采用全双工通信的WebSocket 开发方案 第一步,连接到WebSocket上,获取到二维码...第二步,扫码,发送授权登录的请求,返回身份Token。...socket.onerror = function () { alert("Socket发生了错误,请刷新"); } } onError(Session session, Throwable error) { log.error("发生错误"); error.printStackTrace
服务执行:服务提供者接收请求,执行相应的服务逻辑。 结果返回:服务提供者将执行结果序列化后返回给服务消费者。 结果处理:服务消费者接收到结果,进行反序列化处理,并返回给调用方。 4....状态管理:RPC通常不涉及状态管理,而RESTful API则可以通过HTTP状态码和状态消息来管理请求的状态。...♂️10、假设Java程序在某个地方卡死,如何找到 查看错误日志:首先检查程序的错误日志或控制台输出。这可能提供了有关错误原因的线索。...错误处理:在Go语言中,协程的错误处理是通过panic和recover机制实现的。而Java线程则通过异常处理机制进行错误处理。...Go语言的协程和Java的线程在实现方式、调度方式、并发能力、上下文切换开销、栈大小、资源占用以及错误处理等方面存在差异。
该分类法以三位数字代表分类码,共可分为10个大分类、100个中分类及1000个小分类。 就图书馆用户而言,上面提到的这些 URL 可能就是只读的,但是图书馆员使用应用程序时实际上可以操作这些资源。...GET 请求将命名资源从服务器传输到客户端。尽管客户端不需要知道请求的资源内容,但是请求返回的结果是带元数据标记的字节流,这表明客户端应该知道如何解释资源。...当无法预测请求创建的资源的标识时,客户端会使用 POST 请求。在新增雇员、下订单或提交表单的时候,我们无法预测服务器将如何命名正在创建的资源。...响应码 HTTP 响应码为我们在客户端和服务器之间的对话提供了丰富的请求状态信息。大多数人只熟悉一般意义上的200、403、404或者500,但是还有更多有用的代码可供使用。...表4 服务器处理请求错误 服务根据其自身功能要求具有不同程度的可扩展性。 注意:试试响应代码 418,它会返回简洁有力的回复:"我是一个茶壶。"
如果 /user/:id 返回他们的用户名、头像、标语和最喜欢的狗的品种,你就会得到所有这些信息,不管你是否愿意。 在另一端,您可能会出现抓取不足的情况,这就需要返回到服务器以获取更多信息。...从本文来看,GraphQL 似乎总是比 REST 好,但事实并非如此。在构建应用程序时,你所做的每一个架构决策都有其优缺点,这也不例外。...如果使用GraphQL,请决定如何处理错误 REST Api 能够更好地利用 HTTP 的错误报告特性。...如果您不想为客户端错误返回 200 OK 状态(这在 GraphQL 中很常见),则需要更多地考虑错误处理。...缓存问题 缓存是 REST 内置的功能,但你必须使用 GraphQL 来管理缓存。如果你没有在适当的地方构建缓存,那么你从 GraphQL 更有针对性的获取中获得的所有提高的效率都可能被抹去。
比如一个产品的状态(名字,详情)表现为 XML,JSON 或者普通文本。 REST 有六个约束: 客户-服务器(Client-Server) 关注点分离。...animal_type_id=1:指定筛选条件 状态码 错误处理 就像 HTML 的出错页面向访问者展示了有用的错误消息一样,API 也应该用之前清晰易读的格式来提供有用的错误消息。...服务器端返回 response,并且将 sessionId 以 set-cookie 的方式种在客户端,这样,sessionId 就存在了客户端。...不过 Session 每次都需要服务器查找,JWT 信息都保存好了,不需要再去查询数据库) 时效性,Session 能直接从服务端销毁,JWT 只能等到时效性到了才会销毁(修改密码也无法阻止篡夺者的使用...rest : { stack, ...rest } }) ); 错误会默认抛出堆栈信息stack,在生产环境中,没必要返回给用户,在开发环境显示即可。
在Rest风格中使用状态码来标识返回结果,其中常用200、201、400、401、404、410、500等。...所以我们在设计接口的时候不用非要用Rest风格,我们可以靠近或者在特定的更适合使用Rest接口系统中使用。 本篇我们结合Rest看下接口如何设计和交互。...返回状态码 在RPC中Post请求我们习惯如果请求已经在服务器处理,不管处理结果是否正确,我们都返回200状态码。然后在返回数据中用其它信息来标识业务结果。...因此我们在实际设计中可能会进行Rest裁剪,我们既使用RPC的返回结果,同时多用准确的状态码,不用什么都返回200。...使用RPC风格,尽量使用合理谓词,不知道使用什么谓词的时候就用POST,Get Delete参数尽量用资源定位URL,业务错误服务端返回合适的状体吗,不知道返回什么就返回400,如果请求处理成功就用200
概览 本文展示了如何在Spring中配置REST——控制器和HTTP状态响应码、有效负载编排和内容协商的配置。 2....映射HTTP响应状态码 HTTP响应的状态码是REST服务中最重要的部分之一,并且这个话题很快就会变得很复杂。获得这些权利可能是服务或破坏服务的原因。 6.1....客户端错误 在客户端错误的情况下,自定义异常被定义并映射到适当的错误代码。 简单地从Web层的任何位置抛出这些异常,将确保Spring将相应的状态代码映射到HTTP响应上。...使用 @ExceptionHandler 在特定状态码上映射自定义异常的另一个选项是在控制器中使用@ExceptionHandler注解。...总结 本教程演示了如何使用Spring 4和Java配置来实现一个REST服务,讨论了HTTP响应码、基本内容协商和编排。
调用生成二维码接口 并与 服务端建立链接。链接使用uuid进行绑定 微信Web端进行扫码。获取二维码中的uuid。 微信Web端拿到uuid以后。显示是否登录页面。点击确定后 调用 确认身份接口。...知识点:动态加载图片流并取出header中的参数 这里使用了xmlhttp进行处理。 为什么? 因为后端返回的是一个流。 那么流中。就是放置了二维码中的uuid。...这个uuid作为一次会话的标识符使用。 那么前端也需要拿到。跟后端进行webSocket链接。 这样有人扫码后。服务端才可以使用webSocket的方式通知前端。有人扫码成功了。你做你的业务吧。...1、首先PC端调用接口展示出来了二维码。 2、请求二维码中的http请求。就有uuid在 header中。直接取到uuid 作为webSocket的标识sid进行连接。...3、然后手机端使用相机拿到二维码中的uuid。使用uuid + userid 请求 扫码成功接口。
调用生成二维码接口 并与 服务端建立链接。链接使用uuid进行绑定 2、微信Web端进行扫码。获取二维码中的uuid。 3、微信Web端拿到uuid以后。显示是否登录页面。...因为后端返回的是一个流。 那么流中。就是放置了二维码中的uuid。 这个uuid作为一次会话的标识符使用。 那么前端也需要拿到。 跟后端进行webSocket链接。 这样有人扫码后。...服务端才可以使用webSocket的方式通知前端。有人扫码成功了。你做你的业务吧。酱紫。...1、首先PC端调用接口展示出来了二维码。 2、请求二维码中的http请求。就有uuid在 header中。直接取到uuid 作为webSocket的标识sid进行连接。...3、然后手机端使用相机拿到二维码中的uuid。 使用uuid + userid 请求 扫码成功接口。
在响应中返回错误详情 当 API 服务器处理错误时,如果能够在返回的 JSON body 中包含错误信息,对于接口调用者来说,会一定程度上帮助他们完成调试。...你可能知道,HTTP 中你可以返回带有 200 状态码的错误响应,但这是十分糟糕的。不要这么做,你应当返回与返回错误类型相一致的具有一定含义的状态码。...正因为这样,我不得不在检查响应状态码正确的同时,还需校验这个具有特殊含义的 status 字段的值,才可以放心的处理响应返回的 data。...所以,使用正确的状态码,同时仅在响应的 body 中返回错误信息,并设置正确的头部,比如: HTTP/1.1 400 Bad Request Content-Type: application/json...我分享两种特别适合使用 202 Accepted 状态码的业务场景: 如果资源是经过位于将来一系列处理流程之后才创建的,比如当某项作业完成时 如果资源已经存在,但这是理想状态,因此不应该被识别为一个错误时
(HATEOAS) RESTful使用应该注意的问题 版本(Versioning) 参数命名规范 url命名规范 统一返回数据格式 http状态码 合理使用query parameter 多表、多参数连接查询如何设计...4.一致的数据格式 服务端返回的数据格式要么是XML、要么是Json(获取数据),或者直接返回状态码,有兴趣的可以看看博客园的开放平台的操作数据的api,post、put、patch都是返回的一个状态码...简单点说你可以指定这些状态,但是不是强制的。常用HTTP状态码对照表 HTTP状态码也是有规律的 1**请求未成功 2**请求成功、表示成功处理了请求的状态代码。...通常,这些状态代码用来重定向。 4** 请求错误这些状态代码表示请求可能出错,妨碍了服务器的处理。 5**(服务器错误)这些状态代码表示服务器在尝试处理请求时发生内部错误。...HTTP Method 详细解释 返回状态码 GET 获取对象或集合 200成功、401没有授权、403访问禁止、404没有资源、参数错误、406请求格式不正确、410资源被删除、500服务器内部错误
该分类法以三位数字代表分类码,共可分为10个大分类、100个中分类及1000个小分类。 就图书馆用户而言,上面提到的这些 URL 可能就是只读的,但是图书馆员使用应用程序时实际上可以操作这些资源。...GET 请求将命名资源从服务器传输到客户端。尽管客户端不需要知道请求的资源内容,但是请求返回的结果是带元数据标记的字节流,这表明客户端应该知道如何解释资源。...当无法预测请求创建的资源的标识时,客户端会使用 POST 请求。在新增雇员、下订单或提交表单的时候,我们无法预测服务器将如何命名正在创建的资源。...响应码 HTTP 响应码为我们在客户端和服务器之间的对话提供了丰富的请求状态信息。大多数人只熟悉一般意义上的200、403、404或者500,但是还有更多有用的代码可供使用。...表4 服务器处理请求错误 服务根据其自身功能要求具有不同程度的可扩展性。 注意: 试试响应代码418,它会返回简洁有力的回复:"我是一个茶壶。"
概览 本文将举例说明如何使用Spring来实现REST API的异常处理。我们将同时考虑Spring 3.2和4.x推荐的解决方案,同时也会考虑以前的解决方案。...它用于将Spring中的标准异常解析为对应的HTTP状态码,即客户端错误——4xx和服务器错误——5xx状态码。这是Spring异常的完整列表,以及这些异常对应的HTTP状态码。...对于REST API来说,状态码实际上并没有足够的信息显示给客户端——响应也必须有一个响应体,以便服务器能够提供更多关于故障的信息。...另一个重要的实现细节是返回一个ModelAndView ——这是响应体,它将允许应用程序设置它所需要的任何东西。 对于Spring REST服务的异常处理来说,这种方法是一种一致且易于配置的机制。...总结 本教程讨论了在Spring中实现REST API异常处理机制的几种方法,从旧的机制开始,然后是Spring 3.2中的,最后是4.x和5.x中的。
领取专属 10元无门槛券
手把手带您无忧上云