SpingBoot快速入门下

响应HttpServietResponse

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

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

  • @RestController = @Controller + @ResponseBody;

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

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

java 复制代码
public class Result{
    //响应状态 如 1代表成功 0失败
    private Integer status;
    //提示信息,告诉前端我响应的是响应
    private String msg;
    //数据部分
    private Object data;
    //所有get/set方法  要确保data的对象的属性也有所有set/get方法
    //返回的json 格式是根据getXXX(); XXX的名称来命名键名,本且转小写
}
java 复制代码
@RestController
public class TestController{ 
    //一般响应
   @RequestMapping("/getData")
    public _User getData(){
        System.out.println("getDataRequest");
        _User user = new _User();
        user.test = "test_001";
        user.age= 500;
        user.addre = new Address();
        user.addre.province = "A";
        user.addre.city = "cityb_A_001";
        return user;
    }
    //统一响应
    @RequestMapping("/getResult")
    public Result getResult(){
        System.out.println("getResult");
        _User user = new _User();
        user.test = "test_001";
        user.age= 500;
        user.addre = new Address();
        user.addre.province = "A";
        user.addre.city = "cityb_A_001";
        Result res = new Result();
        res.status = 1;             //表示成功
        res.msg = "Class _User";     //表示数据是_User 类
        res.data = user;
        return res;
    }
}
总结

@ResponseBody 注解

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

  • 使用场景:

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

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

  • 工作原理:

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

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

  • 示例:

    java 复制代码
    @RequestMapping("/greeting")
    @ResponseBody
    public String greeting() {
        return "Hello, World!";
    }

    上述代码中,访问

    复制代码
    /greeting

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

统一响应结果

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

  • 组成部分:

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

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

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

  • 优点:

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

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

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

  • 示例:

    java 复制代码
    {
      "code": 200,
      "msg": "操作成功",
      "data": {
        // 实际的数据对象
      }
    }

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

相关推荐
代码在改了3 小时前
springboot厨房达人美食分享平台(源码+文档+调试+答疑)
java·spring boot
kylinxjd3 小时前
spring boot发送邮件
java·spring boot·后端·发送email邮件
杨荧3 小时前
【JAVA开源】基于Vue和SpringBoot的旅游管理系统
java·vue.js·spring boot·spring cloud·开源·旅游
2401_857439696 小时前
Spring Boot新闻推荐系统:用户体验优化
spring boot·后端·ux
进击的女IT7 小时前
SpringBoot上传图片实现本地存储以及实现直接上传阿里云OSS
java·spring boot·后端
杨半仙儿还未成仙儿8 小时前
Spring框架:Spring Core、Spring AOP、Spring MVC、Spring Boot、Spring Cloud等组件的基本原理及使用
spring boot·spring·mvc
一 乐8 小时前
学籍管理平台|在线学籍管理平台系统|基于Springboot+VUE的在线学籍管理平台系统设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·学习
IT学长编程10 小时前
计算机毕业设计 二手图书交易系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·spring boot·毕业设计·课程设计·毕业论文·计算机毕业设计选题·二手图书交易系统
艾伦~耶格尔11 小时前
Spring Boot 三层架构开发模式入门
java·spring boot·后端·架构·三层架构
man201711 小时前
基于spring boot的篮球论坛系统
java·spring boot·后端