Spring——@ResponseBody

1. @RequestMapping

在方法上只有 @RequestMapping 时,无论方法返回值是什么认为需要跳转

2. @ResponseBody

在方法上添加  @ResponseBody 恒不跳转 

2.1 如果返回值满足 key-value 形式(对象或 map)

  •  把响应头设置为 application/json;charset=utf-8
  •  把转换后的内容输出流的形式响应给客户端.

@ResponseBody 底层使用 Jackson 进行 json 转换,包依赖:

<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.8</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.9.8</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.9.8</version>
</dependency>
@Controller
public class AddUser {
    @RequestMapping("addUser")
    @ResponseBody
    public User addUser(){
        User user = new User();
        user.setAge(12);
        user.setName("哈哈哈");
        return user;
    }
}

执行结果:

 

2.2 如果返回值不满足 key-value, 如 String

  • 把相应头设置为 text/html
  • 把方法返回值以流的形式直接输出. 如果返回值包含中文,出现中文乱码

 produces 表示响应头中 Content-Type 取值. 

@Controller
public class AddUser {
    @RequestMapping(value = "addUser",produces = "text/html;charset=utf-8")
    @ResponseBody
    public String addUser(){
        return "似是而非或是世事可畏,有情有义又是有米无饮";
    }
}

执行结果:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值