目录
一: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;
}