Spring 的 RequestBody 和 ResponseBody 注解

介绍

在这篇文章中,我们将了解 Spring @RequestBody 和 @ResponseBody注释。

@RequestBody

简单地说,@RequestBody 注解将 HttpRequest 主体映射到一个传输或域对象,从而将入站的 HttpRequest 主体自动反序列化到一个 Java 对象上。

首先,让我们看一下 Spring Controller 中的方法:

Spring 的 RequestBody 和 ResponseBody 注解

假设我们指定了适当的类型,Spring 会自动将 JSON 反序列化为 Java 类型。 默认情况下,我们使用 @RequestBody 注解进行注释的类型必须与从客户 Controller 发送的 JSON 相对应:

Spring 的 RequestBody 和 ResponseBody 注解

这里,我们将 HttpRequest 主体的对象映射到我们的 LoginForm 对象。

让我们用 CURL 测试一下:

Spring 的 RequestBody 和 ResponseBody 注解

@ResponseBody

@ResponseBody 注解告诉 Controller,返回的对象被自动序列化成 JSON 并传递回 HttpResponse 对象。

假设我们有一个自定义的 Response 对象:

Spring 的 RequestBody 和 ResponseBody 注解

接着我们关联 Controller:

Spring 的 RequestBody 和 ResponseBody 注解

在浏览器的开发者工具或使用像 Postman 这样的工具,我们可以看到以下响应:

Spring 的 RequestBody 和 ResponseBody 注解

记住,我们不需要使用 @ResponseBody 注解来注释 @RestController-annotated 控制器,因为它在这里是默认使用的。

总结

在本教程中,我们演示了如何使用 @RestController 和 @ResponseBody 注解。


分享到:


相關文章: