• @HttpMessageConverter注解的基本介绍


    @HttpMessageConverter介绍

    HttpMessageConverter,报文信息转换器,将请求报文转换为Java对象,或将Java对象转换为响应报文

    提供了两个注解和两个类型:@RequestBody,@ResponseBody,RequestEntity,

    ResponseEntity

    @RequestBody

    使用@RequestBody,可以获取请求体信息

    注意由于默认的get请求是不含请求体的,所以使用@Requestbody注解要避免和GET请求一起(但并不是不能一起使用,现在也可以在GET请求中放入请求体,也可以使用@Requestbody注解)

     

    最后输出的就是post请求请求体内的内容,后续这个注解常用于处理前端发来的json数据

    RequestEntity

     封装请求报文的一种类型,需要在控制器方法的形参中设置该类型的形参,当前请求的请求报文就会赋值给该形参,可以通过getHeaders()获取请求头信息,通过getBody()获取请求体信息

    @ResponseBody

     @ResponseBody用于标识一个控制器方法,可以将该方法的返回值直接作为响应报文的响应体响应到浏览器

    一般标记在方法上,或者类上,使返回数据避过视图解析器,直接向客户端相应信息,但并不是返回json数据,想要返回json数据还需要配置

    如下

    导入配置

    1. <dependency>
    2. <groupId>com.fasterxml.jackson.coregroupId>
    3. <artifactId>jackson-databindartifactId>
    4. <version>2.12.1version>
    5. dependency>

    然后需要开启注解驱动

    <mvc:annotation-driven />

    注意单单这样配置会出现中文乱码,需要添加中文编码响应

     成功响应json数据

    ResponseEntity

    用于控制器方法的返回值类型,该控制器方法的返回值就是响应到浏览器的响应报文(不常用)

    @RestController注解

     是springMVC提供的一个复合注解,标识在控制器的类上,就相当于为类添加了@Controller注解,并且为其中的每个方法添加了@ResponseBody注解


    个人理解,如果有错误欢迎大家指正

  • 相关阅读:
    unity快速入门代码上手笔记
    100+数据科学面试问题和答案总结 - 机器学习和深度学习
    渣土车识别监测 渣土车未盖篷布识别抓拍算法
    整合mysql多个bool值字段,用&查询
    shell脚本 重试 分文件 多进程
    2023-10-22 LeetCode每日一题(做菜顺序)
    LeetCode热题100——二分查找
    BSV 上用于通用计算的隐私非交互式赏金
    Python之第八章 模块和包 --- 包
    【swjtu】算法作业七
  • 原文地址:https://blog.csdn.net/qq_51260764/article/details/126117201