博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
@RequestBody使用须知
阅读量:4947 次
发布时间:2019-06-11

本文共 2296 字,大约阅读时间需要 7 分钟。

-----------------------siwuxie095

   

   

   

   

   

   

   

   

@RequestBody 使用须知

   

   

使用 @RequestBody 注解映射请求体

   

   

方法参数中的 @RequestBody 注解暗示了方法参数应该被绑定了

HTTP 请求体的值

   

   

   

在实际开发中,传入 JSON 是最常见的一种方式,而 SpringMVC

提供了一种更为简便的方式接收 JSON(非 JSP 页面),那就是使

用 @RequestBody 注解

   

   

   

在接收 JSON 时,需要 Jackson 的 jar 包支持,2.x 版本需要导入

如下三个 jar 包:

   

1jackson-core

   

   

   

   

2jackson-annotations

   

   

   

   

3jackson-databind

   

   

   

   

「截止目前(2018/03/01),Jackson 最新版本为 2.9.4」

   

   

   

   

   

例如:

   

编写一个实体类

   

User.java:

   

package com.siwuxie095.entity;

   

public class User {

   

private String userId;

private String userName;

private String userSex;

private String userAge;

 

public String getUserId() {

return userId;

}

public void setUserId(String userId) {

this.userId = userId;

}

 

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

 

public String getUserSex() {

return userSex;

}

public void setUserSex(String userSex) {

this.userSex = userSex;

}

 

public String getUserAge() {

return userAge;

}

public void setUserAge(String userAge) {

this.userAge = userAge;

}

 

 

@Override

public String toString() {

return "User [userId=" + userId + ", userName=" + userName

+ ", userSex=" + userSex + ", userAge=" + userAge + "]";

}

 

}

   

   

   

编写一个 JSP 页面

   

show.jsp:

   

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>show</title>

</head>

<body>

   

<h1>${msg}</h1>

 

</body>

</html>

   

   

   

编写一个 Controller 类

   

UserController.java:

   

package com.siwuxie095.controller;

   

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestBody;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.servlet.ModelAndView;

   

import com.siwuxie095.entity.User;

   

   

@Controller

public class UserController {

   

/**

* 接收 JSON,使用 @RequestBody 将其反序列化成 POJO 对象

*/

@RequestMapping("/show")

public ModelAndView show(@RequestBody User user) {

// 创建 ModelAndView 对象,并设置视图名称

ModelAndView mv = new ModelAndView("show");

// 添加模型数据

mv.addObject("msg", user);

return mv;

}

 

 

}

   

   

   

访问路径:

   

   

   

   

   

   

值得注意的是:

   

@RequestBody 是使用在方法参数前,@ResponseBody 是使用在方法

   

   

 

 参考链接:

   

,,

 

   

 

 

   

附:

   

推荐一个模拟发送请求的 Chrome 插件 Advanced REST Client,非常好用!

   

   

   

   

   

   

   

   

   

【made by siwuxie095】

转载于:https://www.cnblogs.com/siwuxie095/p/8487293.html

你可能感兴趣的文章
MySQL对时间的处理总结
查看>>
笔记四:python乱码深度剖析二
查看>>
《PHP程序员面试笔试宝典》——如何回答技术性的问题?
查看>>
【转载】Amit’s A star Page 中译文
查看>>
注册谷歌账号并验证时显示号码无法用于验证的问题
查看>>
Hive 变量和属性
查看>>
Python安装第三方库 xlrd 和 xlwt 。处理Excel表格
查看>>
课后作业-阅读任务-阅读提问-3
查看>>
Asp.Net Core 中利用QuartzHostedService 实现 Quartz 注入依赖 (DI)
查看>>
细说sqlserver索引及SQL性能优化原则
查看>>
一般数据库增量数据处理和数据仓库增量数据处理的几种策略
查看>>
centos6.5适用的国内yum源:网易、搜狐
查看>>
视频直播技术(三):低延时直播经验总结
查看>>
Application failed to start because it could not find or load the QT platform plugin “windows”
查看>>
python合并多表或两表数据
查看>>
第一个python作业题目以及代码
查看>>
新建web project不自动生成web.xml解决方案
查看>>
如何快速访问MSDN某一个类或方法的帮助文档
查看>>
SqlServer 删除重复记录
查看>>
win10下sublime text3 使用view in browser的快捷鍵添加方式
查看>>