• SpingBoot快速入门下


    响应HttpServietResponse

    介绍
    • @ResponseBody 加到Controller方法/类上

    • 作用:将方法返回值直接响应,如果返回值是 实体对象/集合,将会自动转JSON格式响应

    • @RestController = @Controller + @ResponseBody;

    一般响应

    统一响应
    • 在实际开发中一般不会用不同的类作为响应,因为不方便管理,一般会有一个类统一响应

    • 一般会带状态码,和响应类型

    1. public class Result{
    2.    //响应状态 如 1代表成功 0失败
    3. private Integer status;
    4.    //提示信息,告诉前端我响应的是响应
    5.    private String msg;
    6.    //数据部分
    7.    private Object data;
    8.    //所有get/set方法 要确保data的对象的属性也有所有set/get方法
    9. //返回的json 格式是根据getXXX(); XXX的名称来命名键名,本且转小写
    10. }

    1. @RestController
    2. public class TestController{
    3.    //一般响应
    4.   @RequestMapping("/getData")
    5.    public _User getData(){
    6.        System.out.println("getDataRequest");
    7.        _User user = new _User();
    8.        user.test = "test_001";
    9.        user.age= 500;
    10.        user.addre = new Address();
    11.        user.addre.province = "A";
    12.        user.addre.city = "cityb_A_001";
    13.        return user;
    14.   }
    15.    //统一响应
    16.    @RequestMapping("/getResult")
    17.    public Result getResult(){
    18.        System.out.println("getResult");
    19.        _User user = new _User();
    20.        user.test = "test_001";
    21.        user.age= 500;
    22.        user.addre = new Address();
    23.        user.addre.province = "A";
    24.        user.addre.city = "cityb_A_001";
    25.        Result res = new Result();
    26.        res.status = 1; //表示成功
    27.        res.msg = "Class _User"; //表示数据是_User 类
    28.        res.data = user;
    29.        return res;
    30.   }
    31. }
    总结

    @ResponseBody 注解

    • 定义: @ResponseBody是Spring MVC框架中的一个注解,它的作用是指示方法的返回值应该直接作为响应体返回给客户端,而不是返回一个视图(View)。

    • 使用场景:

      • 当你想要返回JSON、XML等数据格式,而不是跳转到一个页面。

      • 当你正在构建RESTful API,需要直接返回数据而不是视图。

    • 工作原理:

      • @ResponseBody注解的方法,其返回值将被Spring MVC的HttpMessageConverter转换成客户端请求的格式(如JSON)。

      • 如果方法返回的是String类型,Spring MVC会将这个字符串直接写入响应体。

    • 示例:

      1. @RequestMapping("/greeting")
      2. @ResponseBody
      3. public String greeting() {
      4.    return "Hello, World!";
      5. }

      上述代码中,访问

      /greeting

      路径将直接返回字符串"Hello, World!"作为响应体。

    统一响应结果

    • 目的: 统一的响应格式有助于前后端分离的开发模式,使得前端开发者可以更容易地处理来自后端的数据。

    • 组成部分:

      • code: 通常是一个整数,表示请求的处理结果。例如,200表示成功,404表示未找到,500表示服务器错误等。

      • msg: 是一个字符串,提供关于响应的额外信息。在成功时,可能是操作的描述;在失败时,提供错误信息。

      • data: 包含实际返回的数据。在成功的响应中,这里可能是请求的数据对象或数据集合。

    • 优点:

      • 标准化: 使得API的响应格式统一,简化客户端的处理逻辑。

      • 易于调试: 通过状态码和消息,可以快速识别请求是否成功以及失败的原因。

      • 扩展性: 方便添加额外的信息,如时间戳、分页信息等,而不影响现有逻辑。

    • 示例:

      1. {
      2.  "code": 200,
      3.  "msg": "操作成功",
      4.  "data": {
      5.    // 实际的数据对象
      6. }
      7. }

      这个JSON对象是一个典型的统一响应结果示例,它清晰地表明了操作的状态和返回的数据。

  • 相关阅读:
    黑马头条:app端文章查看
    java通过zookeeper 高可用方式连接hiveserver2
    Redis的优惠券秒杀问题(五)全局唯一ID 以及 秒杀下单
    【Linux 之二】Ubuntu下开发环境的搭建(NFS \ SSH \ FTP \ Smba \ ...)
    基于蚁群结合遗传算法的路径规划问题附Matlab代码
    抖音wss弹幕RPC
    Mysql学习之——增删改查语句
    优维低代码实践:菜单
    1.3.19 网络端口地址转换 NAPT 配置
    AI影像修复及图像超分辨率
  • 原文地址:https://blog.csdn.net/m0_66357705/article/details/139844370