Spring中的@RequestBody和@ResponseBody批注
有人可以在Spring 3中解释@RequestBody和@ResponseBody注释吗?他们是干什么的?任何例子都很好。
回答:
在文档中有一个名为16.3.3.4的完整章节,其中将请求主体与@RequestBody批注进行映射。还有一个叫做16.3.3.5的映射,它使用@ResponseBody注释映射响应主体。我建议你查阅这些部分。也相关:@RequestBodyjavadocs,@ResponseBodyjavadocs
使用示例如下所示:
使用像JQuery这样的JavaScript库,你可以像这样发布JSON对象:
{ "firstName" : "Elmer", "lastName" : "Fudd" }
你的控制器方法如下所示:
// controller@ResponseBody @RequestMapping("/description")
public Description getDescription(@RequestBody UserStats stats){
return new Description(stats.getFirstName() + " " + stats.getLastname() + " hates wacky wabbits");
}
// domain / value objects
public class UserStats{
private String firstName;
private String lastName;
// + getters, setters
}
public class Description{
private String description;
// + getters, setters, constructor
}
现在,如果你在类路径中有Jackson(并进行了
{ "description" : "Elmer Fudd hates wacky wabbits" }
有关完整的工作示例,请参见我的前一个答案:https : //stackoverflow.com/a/5908632/342852
注意:RequestBody / ResponseBody当然不限于JSON,两者都可以处理多种格式,包括纯文本和XML,但是JSON可能是最常用的格式。
更新资料
从Spring 4.x开始,通常不会@ResponseBody
在方法级别使用,而是@RestController
在类级别使用,具有相同的效果。
以上是 Spring中的@RequestBody和@ResponseBody批注 的全部内容, 来源链接: utcz.com/qa/418969.html