Spring mvc的响应

1、static是静态页面的存放 templates是动态模板,不需要可以直接删掉

2、我们要是想访问static下的页面我们只需要他的文件名字就可以访问(如果有多层可以在url中加入相关路径)

3、get可以缓存(是幂等的) post 不能被缓存

4、返回Json响应

复制代码
@RestController
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1")
    public  UserInfo getHeader()  {
        UserInfo userInfo=new UserInfo();
        userInfo.setId(18);
        userInfo.setAge(20);
        userInfo.setName("zhangsan");
        return userInfo;
}
}

5、返回的类型

(1)String等返回的是

(2)对象返回的是json,其他的看下面举例(js和css返回的是页面记得不要加@ResponseBody)

6、设置状态(我们的抓包工具响应里面有什么我们的HttpServletResponse里面就有什么都可以自己来设置)状态码并不影响我们的界面结果的展示

复制代码
@RestController
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1")
    public String getHeader(HttpServletResponse response)  {
       response.setStatus(401);
       return "设置状态码成功";
}
}

如果不加ResponseBody就会象这样设置失败

7、指定返回的类型

但是此时不是标准的JSON格式,当我们用标准的大括号格式表示时候,返回的text/html时候我们可以手动给他改成JSON格式,这样可以帮助前端识别类型

还可以加一些其他内容

8、设置header

复制代码
@RestController
@RequestMapping("/user")
public class user {
    @RequestMapping("/r1")
    public String getHeader(HttpServletResponse response)  {
      response.setHeader("myHeader","myHeadervalue");
       return "设置Header成功";
}
}
相关推荐
一拳小和尚LXY8 小时前
我开发了一款免费 Chrome 插件 TabScribe:一键复制所有标签页为 Markdown/JSON,完全离线零追踪
前端·chrome·json
dust_and_stars8 小时前
ubuntu24上安装chrome和edge浏览器
前端·chrome·edge
恋猫de小郭8 小时前
Android 官方给 Compose 搞了个不需要 UI 环境的 Composable
android·前端·flutter
老王以为8 小时前
我的多屏编程工作流:从切窗口到空间锚定
前端
夕除8 小时前
shizhan--10
java·开发语言
旺王雪饼 www8 小时前
localStorage 和 sessionStorage区别与联系
服务器·前端·javascript
吴声子夜歌8 小时前
JVM——并发容器实现原理
java·jvm·并发容器
xier_ran8 小时前
【infra之路】PagedAttention
java·开发语言
道友可好8 小时前
Superpowers vs OpenSpec vs Spec Kit:该选哪个?
前端·人工智能·后端
এ慕ོ冬℘゜8 小时前
【双月日期范围选择器】博客(可直接交作业 / 上线)
前端·javascript·交互·jquery