SpringMVC之使用ResponseEntity

1、Post请求

一般情况下,在非必须的情况下,使用Jquery实现post请求,而后台返回一般都需要手动封装ResponseUtil,和使用@ResponseBody注解来实现返回。然而我们书上学到的关于Spring的知识只是我们日常使用频率较高的,Spring还提供了很多工具与方法,可以方便与快捷实现原有的功能。一般情况下,我们所学的使用频率80%的知识,只占知识总量的20%甚至更低,剩下使用20%频率的知识,占知识总量的80%。



2、实例


1)前台代码:

<script type="text/javascript" src="JQuery/jquery-3.2.1.js"></script>
function responseEntity(){
	$.post("${pageContext.request.contextPath}/Test/responseEntity.do",{},function(data){
		alert(data.message);
	});
}
<input id="responseEntityTest" type="button" value="request" οnclick="responseEntity()">


2)后台代码:

	@RequestMapping("/responseEntity.do")
	public ResponseEntity<Map<String,Object>> responseEntity(){
		Map<String,Object> map = new HashMap<String,Object>();
		map.put("message", "Hello Wrold");
		return new ResponseEntity<Map<String,Object>>(map, HttpStatus.OK);
	}
返回实体中,第一个参数为返回的数据,相当于out.write(map.toString()),第二个参数是状态码,可以设置返回404,上述设置等价于返回200.


3、结果



Reference:

[1] Rod Johnson, Juergen Hoeller, Spring Framework Reference Documentation 4.3.10.RELEASE, http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc-introduction, 22.3.3,Using HttpEntity


Spring MVC提供了一个HttpEntity类,用于封装HTTP请求和响应的实体。 HttpEntity是一个泛型类,可以用于封装各种类型的请求和响应体。它包含了HTTP头信息以及请求/响应的主体内容。 在Spring MVC中,我们可以将参数类型声明为HttpEntity,来接收和处理HTTP请求的实体信息。例如,我们可以将请求体中的JSON数据映射到一个Java对象中: ```java @RequestMapping(value = "/user", method = RequestMethod.POST) public ResponseEntity<String> createUser(@RequestBody HttpEntity<User> requestEntity) { User user = requestEntity.getBody(); // 处理user对象 // ... return new ResponseEntity<>("User created", HttpStatus.CREATED); } ``` 在上述例子中,我们使用了`HttpEntity<User>`作为参数类型来接收请求体中的JSON数据,并将其映射到一个User对象中。我们可以通过调用`getBody()`方法来获取请求体内容。 同样地,我们也可以在响应中使用HttpEntity来封装响应的内容。例如,我们可以返回一个包含JSON数据的HttpEntity对象: ```java @RequestMapping(value = "/user/{id}", method = RequestMethod.GET) public HttpEntity<User> getUser(@PathVariable("id") int id) { User user = userService.getUserById(id); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); return new HttpEntity<>(user, headers); } ``` 在上述例子中,我们使用了`HttpEntity<User>`作为返回类型,并将User对象及自定义的HTTP头信息封装在其中。 总结而言,Spring MVC的HttpEntity类提供了一种方便的方式来封装和处理HTTP请求和响应的实体信息。我们可以使用它来接收和处理请求体中的内容,并将响应数据封装成一个HttpEntity对象返回给客户端。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值