> 文章列表 > 【Java闭关修炼】SpringMVC-HttpMeaasgeConverter

【Java闭关修炼】SpringMVC-HttpMeaasgeConverter

【Java闭关修炼】SpringMVC-HttpMeaasgeConverter

【Java闭关修炼】SpringMVC-HttpMeaasgeConverter

    • 概述
    • RequestBody
    • RequestEntity
    • 使用原生servlet响应浏览器
    • ResponseBody

概述

浏览器发送到服务器,将请求报文转换为java对象

服务器响应浏览器,将java对象转换成响应报文

【Java闭关修炼】SpringMVC-HttpMeaasgeConverter

RequestBody

将请求体中的请求报文转换成java对象

【Java闭关修炼】SpringMVC-HttpMeaasgeConverter

    @RequestMapping("/testRequestBody")public String testRequestBody(@RequestBody String requestBody) {System.out.println(requestBody);return "success";}

【Java闭关修炼】SpringMVC-HttpMeaasgeConverter

RequestEntity

获取整个请求报文的信息

【Java闭关修炼】SpringMVC-HttpMeaasgeConverter

    @RequestMapping("/testRequestEntity")public String testRequestEntity(RequestEntity<String> requestEntity){// requestEntity 表示整个请求报文的信息System.out.println("请求头:" + requestEntity.getHeaders());System.out.println("请求体:" + requestEntity.getBody());return "success";}

使用原生servlet响应浏览器

    @RequestMapping("/testResponse")public void testResponse(HttpServletResponse response) throws IOException {response.getWriter().print("hello response");}

ResponseBody

【Java闭关修炼】SpringMVC-HttpMeaasgeConverter

将方法的返回值直接作为响应报文的响应体相应到浏览器

加上responseBody注解 方法返回的是响应体

下面具体返回一个java对象,但是返回的是json格式

  • 导入jackson依赖
    <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.13.5</version></dependency>
  • 在SpringMVC的核心配置文件中开启mvc注解驱动,此时在HandlerAdaptor自动装配一个消息转换器,可以将相应到浏览器的Java对象转换成json格式的字符串
<mvc: annotation-driven/>
  • 在处理器方法上使用@ResponseBody注解进行标识

  • 将Java对象直接作为控制器方法的返回值返回,就会自动转换为json格式的字符串

    @RequestMapping("/testResponseBody")@ResponseBodypublic User testResponseBody(){
//    通过responsBody 注解 返回浏览器一个类return new User(1001,"admin","123456",23,"男");}