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成功";
}
}
相关推荐
kyriewen1 分钟前
用了半年 Claude Code 后,我尝试关掉它写了一周代码——结果比想象中严重
前端·javascript·ai编程
IT_陈寒1 小时前
Vite的静态资源打包让我熬夜到三点,这坑千万别跳
前端·人工智能·后端
小bo波1 小时前
使用Thread子类创建线程 VS 使用Runnable接口创建线程的区别
java·多线程·thread·并发编程·runnable
徐小夕2 小时前
万字拆解 JitWord:企业级实时协同文档底层架构 + 大模型 AI 融合完整实践
前端·vue.js·github
一份执念2 小时前
uni-app 小程序分包限制处理与主包体积优化实战
前端·微信小程序
SamDeepThinking2 小时前
高并发场景下,CompletableFuture与ForkJoinPool该如何取舍?
java·后端·面试
MariaH2 小时前
初识MySQL
前端
陳陈陳2 小时前
从Token到Embedding:一篇文章搞懂大模型的「文字数学变形记」
前端·javascript·ai编程
十有八七2 小时前
AI时代的置身X内
前端·人工智能
橘子星3 小时前
LLM 无状态架构实践:从原理到代码落地
前端·javascript·人工智能