当前位置:   article > 正文

【SpringMVC】_SpringMVC项目返回HTML与JSON

【SpringMVC】_SpringMVC项目返回HTML与JSON

目录

1. SpringMVC项目返回HTML页面

2. SpringMVC项目返回JSON

2.1 程序演示

2.2 关于响应的Content-Type

2.2.1 接口为对象

2.2.2 接口为String

2.2.3 接口为Map


本专栏已介绍:

返回静态页面:

【Spring MVC】_SpringMVC项目返回静态页面_mvc 返回当前页面-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/m0_63299495/article/details/138230689返回数据:
【Spring MVC】_SpringMVC项目返回数据-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/m0_63299495/article/details/138257338本篇介绍返回HTML与返回JSON

1. SpringMVC项目返回HTML页面

.java文件内容如下:

  1. package com.example.demo.controller;
  2. import org.springframework.stereotype.Controller;
  3. import org.springframework.web.bind.annotation.RequestMapping;
  4. import org.springframework.web.bind.annotation.ResponseBody;
  5. import org.springframework.web.bind.annotation.RestController;
  6. @RequestMapping("/return")
  7. @Controller
  8. public class ReturnController {
  9. @ResponseBody
  10. @RequestMapping("/returnHtml")
  11. public String returnHtml(){
  12. return "<h1>Return as HTML Page.<h1>";
  13. }
  14. }

运行启动类,根据URL访问页面如下:

在本例中使用的是@Controller与@ResponseBody注解,即选择返回数据;

当后端返回的代码段中含有HTML代码,会被浏览器自动解析为HTML页面

注:如果需要设置不解析HTML代码,则需要使用转义字符,此处不再演示;

2. SpringMVC项目返回JSON

2.1 程序演示

.java文件内容如下:

  1. package com.example.demo.controller;
  2. import com.example.demo.Person;
  3. import org.springframework.stereotype.Controller;
  4. import org.springframework.web.bind.annotation.RequestMapping;
  5. import org.springframework.web.bind.annotation.ResponseBody;
  6. import org.springframework.web.bind.annotation.RestController;
  7. @RequestMapping("/return")
  8. @Controller
  9. public class ReturnController {
  10. @ResponseBody
  11. @RequestMapping("/returnJson")
  12. public Person returnJson(){
  13. Person person = new Person();
  14. person.setId(1);
  15. person.setName("Mike");
  16. person.setAge(20);
  17. return person;
  18. }
  19. }

运行启动类,输入URL进行访问,页面如下:

2.2 关于响应的Content-Type

2.2.1 接口为对象

(代码示例为2.1Person接口)

当接口为对象时,返回的Content-Type会被自动设置为application/json

2.2.2 接口为String

(代码示例为1HTML页面)

当接口为String类型时,返回的Content-Type为text/html

2.2.3 接口为Map

.java文件内容如下:

  1. package com.example.demo.controller;
  2. import com.example.demo.Person;
  3. import org.springframework.stereotype.Controller;
  4. import org.springframework.web.bind.annotation.RequestMapping;
  5. import org.springframework.web.bind.annotation.ResponseBody;
  6. import org.springframework.web.bind.annotation.RestController;
  7. import java.util.HashMap;
  8. import java.util.Map;
  9. @RequestMapping("/return")
  10. @Controller
  11. public class ReturnController {
  12. @ResponseBody
  13. @RequestMapping("/returnJson2")
  14. public Map<String,String> returnMap(){
  15. Map<String,String> kv = new HashMap<>();
  16. kv.put("k1","v1");
  17. kv.put("k2","v2");
  18. return kv;
  19. }
  20. }

根据URL进行访问,页面如下:

使用Fiddler抓包查看HTTP响应详情:

可见接口为形如Map的泛型接口时,返回的Content-Type也是application/json

即:需要将HTTP响应的body部分设置为JSON类型

无需进行手动设置,当返回一个对象时Spring会自动将content-type设置为json。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/613390
推荐阅读
相关标签
  

闽ICP备14008679号