首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

译:如何使用Spring优雅地处理REST异常

概览 本文将举例说明如何使用Spring来实现REST API的异常处理。我们将同时考虑Spring 3.2和4.x推荐的解决方案,同时也会考虑以前的解决方案。...例如,这些控制器可能不能直接修改,或者一些控制器可能已经别的基类扩展,而这个基类可能在另一个jar中或者不能直接修改。...理想情况下,我们希望能够输出JSON或XML,这取决于客户端请求的格式(通过Accept头)。...MVC – 自定义错误页 首先,让我们看一下MVC风格的解决方案,看看如何定制一个拒绝访问的错误页面: 使用XML配置: <intercept-url pattern="/admin...总结 本教程讨论了在<em>Spring</em>中实现<em>REST</em> API异常处理机制的几种方法,<em>从</em>旧的机制开始,然后是<em>Spring</em> 3.2中的,最后是4.x和5.x中的。

1.1K10
您找到你想要的搜索结果了吗?
是的
没有找到

Spring认证指南:了解如何使用 Spring 创建超媒体驱动的 RESTful Web 服务

你将建造什么 您将使用 Spring HATEOAS 构建一个超媒体驱动的 REST 服务:一个 API 库,可用于创建指向 Spring MVC 控制器的链接、构建资源表示并控制如何将它们呈现为支持的超媒体格式...正如您将在本指南后面看到的那样,Spring 将使用 Jackson JSON 库将类型的实例自动编组Greeting为 JSON。 接下来,创建将提供这些问候语的资源控制器。...创建 REST 控制器Spring 构建 RESTful Web 服务的方法中,HTTP 请求由控制器处理。...方法实现中最有趣的部分是如何创建指向控制器方法的链接以及如何将其添加到表示模型中。...请注意属性的值如何contentHello, World!to更改,Hello, User!

3.9K60

SpringMVC 与 REST.

更简洁地讲,REST就是将资源的状态以最适合客户端或服务端的形式服务器端转移到客户端(或者反过来)。...其实就是,比如我想要 application/json 格式的数据,REST服务就能为我提供JSON格式的数据;我想要 application/xml 格式的数据,REST服务就能为了提供XML格式的数据...二、Spring MVC 构建 REST API     SpringREST 提供了良好的支持,支持以下方式来创建 REST 资源: 控制器可以处理所有的HTTP方法,包含四个主要的REST方法...@RestController:如果在控制器类上使用@RestController来代替@Controller的话,Spring将会为该控制器的所有处理方法应用消息转换功能。...RestTemplate 的相关操作以及如何使用 SpringMVC创建REST端点可参考:https://github.com/JMCuixy/SpringMvcForRest

1.1K40

Spring国际认证指南|了解如何使用 jQuery 检索网页数据。

原标题:Spring国际认证指南|了解如何使用 jQuery 检索网页数据。 本指南将引导您编写一个使用基于 Spring MVC 的RESTful Web 服务的简单 jQuery 客户端。...你需要什么 约15分钟 最喜欢的文本编辑器 现代网络浏览器 互联网连接 创建一个 jQuery 控制器 首先,您将创建将使用 REST 服务的 jQuery 控制器模块: public/hello.js...它使用 jQuery 的方法来使用 http://rest-service.guides.spring.io/greeting$.ajax()上的 REST 服务。...REST 服务接收到的 JSON的值id和属性更新文本。...为了 Spring Boot 的嵌入式 Tomcat 服务器提供静态内容,您还需要创建最少量的 Web 应用程序代码,以便 Spring Boot 知道启动 Tomcat。

2K40

2022就业季|Spring认证教你,如何使用 Spring 构建 REST 服务(三)

那是因为没有办法知道如何与这个服务器交互。如果您今天发布了此内容,您还必须编写文档或在某个地方托管开发人员的门户,其中包含所有详细信息。...这表明我们的 JSON 输出需要一点帮助。介绍Spring HATEOAS,这是一个 Spring 项目,旨在帮助您编写超媒体驱动的输出。...使用这个或其他技巧来美化 curl 返回的 json:# 指示部分将输出通过管道传输到 json_pp 并要求它使您的 JSON 更漂亮。(或者使用任何你喜欢的工具!)...您之前在控制器中看到的所有代码都可以移到此类中。并且通过应用 Spring Framework 的@Component注解,将在应用程序启动时自动创建汇编程序。...在这个阶段,您已经创建了一个实际生成超媒体驱动内容的 Spring MVC REST 控制器!不讲 HAL 的客户端可以在使用纯数据时忽略额外的位。使用 HAL 的客户可以浏览您授权的 API。

95430

Spring Boot REST API错误处理指南

本文将介绍在使用Spring Boot构建REST API的时候如何进行合适的错误处理。 ? 在过去几年里,使用Spring构建REST API已经成为Java开发人员的标准方法。...如果你对如何开发基本的REST API并不熟悉,那么你应该先阅读这篇关于Spring MVC的文章或另一篇有关构建Spring REST服务的文章。...是否有更多的细节可以错误产生的异常中提取出来呢? 下面,我们来学习如何正确地处理这些异常,并将它们包装成更好的JSON表示形式,让API客户端更容易识别。...ControllerAdvice是Spring 3.2中引入的注解,顾名思义,它是多控制器的“建议”。它使得单个ExceptionHandler应用于多个控制器上。...提供一些如何修复失败的呼叫的指导也很重要。 附录 译文来源:Spring Boot REST API错误处理指南-csdn

3.2K20

SpringMVC+RestFul详细示例实战教程一(实现跨域访问+postman测试)

表述性(Representational):对于 REST 来说,我们网络上的一个个URI资源可以用各种形式来表述,例如:XML、JSON或者HTML等。...在4.0后的版本中,spring 支持一下方式创建 REST 资源: 控制器可以处理所有的 HTTP 方法,包含几个主要的 REST 方法:GET、POST、PUT、DELETE、PATCH; 借助 spring...Java 对象; 借助 RestTemplate ,spring 应用能够方便地使用 REST 资源。...四、基于Rest的Controller(控制器) 我们的 REST API : GET 方式请求 /api/user/ 返回用户列表 GET 方式请求 /api/user/1返回id为1的用户 POST..., @RequestBody, ResponseEntity 和 @PathVariable 这些注解 .另外, spring 也提供了一些支持类帮助你实现一些可定制化的东西。

2.6K20

Spring国际认证指南|了解如何使用 AngularJS 检索网页数据

原标题:Spring国际认证指南|了解如何使用 AngularJS 检索网页数据 本指南将引导您编写一个使用基于 Spring MVC 的RESTful Web 服务的简单 AngularJS 客户端...该服务将以JSON表示的问候进行响应: {"id":1,"content":"Hello, World!"}...你需要什么 约15分钟 最喜欢的文本编辑器 现代网络浏览器 互联网连接 创建一个 AngularJS 控制器 首先,您将创建将使用 REST 服务的 AngularJS 控制器模块: public/hello.js...如果成功,它会将服务返回的 JSON 分配给$scope.greeting,从而有效地设置一个名为“greeting”的模型对象。...为了 Spring Boot 的嵌入式 Tomcat 服务器提供静态内容,您还需要创建最少量的 Web 应用程序代码,以便 Spring Boot 知道启动 Tomcat。

2.4K30

Hybris平台Web架构模式演变:前后端分离

控制器会变得复杂,很多人会在Controller(Spring),Action(Struts)中写业务代码已经变得很常见,所有的操作都在控制器中,导致业务与控制器相耦合 5....上图可见,我们将View、Controller传统的服务端MVC架构中迁移到客户端。客户端负责视图的渲染,交互的控制。数据的获取通过Restful API接口使用JSON格式交互。...遵循Hybris平台后端开发最佳实践 Hybris平台对于每一个页面请求,都有与之对应的控制器,并且平台的Web层基于Spring MVC框架,利用这些特点,我们决定将每一个OOTB 控制器包装成为一个完成数据交互的...由于在Rest API层面上,我们仍然采用DTO作为数据载体,可见,在这些默认的Rest Get方法中,将会侵入一些代码片断用来完成DTO到JSON的转换。...显而易见,如果在每一个默认的Rest Get方法中都加入转换代码不是一个很好的处理方式,会造成代码的过渡重复,产生坏味道。那么,我们如何原始的代码中将数据转换的过程分离出来呢?

1.6K60

超详细的Spring Boot教程,搞定面试官!

(3)OSX Homebrew安装 (4)MacPorts安装 (5)命令行完成 (6)快速启动Spring CLI示例 3.2、较早版本的Spring Boot升级 4、开发你的第一个Spring...(1)彩色编码输出 4.3、文件输出 4.4、日志级别 4.5、自定义日志配置 4.6、Logback扩展 (1)配置文件特定的配置 (2)环境属性 5、开发Web应用程序 5.1、“Spring Web...(18)自动配置的Spring REST Docs测试 自动配置的Spring REST Docs使用Mock MVC进行测试 自动配置的Spring REST Docs使用REST Assured进行测试...MVC 4.1、编写一个JSON REST服务 4.2、编写一个XML REST服务 4.3、自定义Jackson ObjectMapper 4.4、自定义@ResponseBody呈现 4.5、处理多部分文件上传...记录 5.2、配置Logback进行日志记录 (1)为纯文件输出配置Logback 5.3、配置Log4j进行日志记录 (1)使用YAML或JSON配置Log4j 2 6、数据访问 6.1、配置一个自定义数据源

6.8K20
领券