目录
一:springmvc返回String-@ResponseBody
二:springmvc返回json数据-@ResponseBody+jackson
1:HttpEntity:HttpEntity比RequestBody更强,不仅能拿请求参数还可以拿到请求头
2:ResponEntity:指定返回ResponEntity实体;可以定制响应头和响应内容以及响应代码
一:springmvc返回String-@ResponseBody
默认情况下,springMVC的@ResponseBody返回的是String类型,如果返回其他类型则会报错。
@ResponseBody:响应请求体,标注了该注解,返回的信息为字符串而不是页面


二:springmvc返回json数据-@ResponseBody+jackson
1:导包;
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --> <!--改jar包可以将返回的对象自动转为json--> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.11.2</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.32</version> </dependency>
2:写配置;
默认情况下,springMVC的@ResponseBody返回的是String类型,如果返回其他类型则会报错。
使用fastjson的情况下,在springmvc.xml配置里加入:

3:@ResponseBody测试
@ResponseBody:是将内容或对象作为Http响应正文返回



三:@RequestBody:接受json数据;转为对象
是将Http请求正文插入方法中,修饰目标方法的入参


四:HttpEntity和ResponseEntity
1:HttpEntity:HttpEntity比RequestBody更强,不仅能拿请求参数还可以拿到请求头
/**
* HttpEntity比RequestBody更强,可以拿到请求头
* @param person
* @return
*/
@ResponseBody
@RequestMapping("/getheader")
public String test5(HttpEntity<String> person){
System.out.println("---"+person);
return "bb";
}

获得的HttpEntity的实体信息;

2:ResponEntity:指定返回ResponEntity实体;可以定制响应头和响应内容以及响应代码
/**
* 指定返回ResponEntity实体;可以定制响应头和响应内容以及响应代码
* @return
*/
@RequestMapping("/getresp")
public ResponseEntity<String> test6(){
String body = "aaa";
MultiValueMap headers = new HttpHeaders();
headers.add("key","123");
ResponseEntity<String> stringResponseEntity = new ResponseEntity<String>(body, headers, HttpStatus.OK);
return stringResponseEntity;
}


本文深入讲解SpringMVC框架的高级用法,包括如何使用@ResponseBody返回字符串和JSON数据,详解Jackson库的集成,演示@RequestBody接收JSON数据并转换为对象的过程,以及HttpEntity和ResponseEntity的高级应用。

4322

被折叠的 条评论
为什么被折叠?



