SpringBoot集成SpringMVC

  • 1. SpringMVC常见注解
    • 1. 1 @RestController
    • 1. 2 @GetMapping
    • 1. 3 @PostMapping
    • 1. 4 @DeleteMapping
    • 1. 5 @PutMapping
  • 2. SpringBoot实现RESTful
    • 2.1 认识RESTful
    • 2.2 SpringBoot开发RESTful主要注解
      • 2.2.1 @PathVariable
      • 2.2.2 @PostMapping
    • 3.测试

1. SpringMVC常见注解

@RequestMapping的请求方式

  1. 如果方法上的@RequestMapping注解没有设置method属性,则请求方式支持:GET和POST请求
  2. 如果方法上的@RequestMapping注解设置了method属性,则只能是相应的请求方式可以访问。

@Controller
@ResponseBody
@RestController
@RequestMapping
@GetMapping
@PostMapping
@PutMapping
@DeleteMapping

1. 1 @RestController

@RestController = @Controller+@ResponseBody
所有方法都是JSON对象,控制层的注解可以换成@RestController
相当于控制层类上加上@Controller + 方法上加@ResponseBody
意味着当前控制层类中所有方法返回值都是JSON对象

1. 2 @GetMapping

@GetMapping(value=“/query”) = @RequestMapping(value=“/query”,method = RequestMethod.GET)
只接收GET请求,请求方式不对就报405错误
该注解通常在查询数据的时候使用 ----->查询

1. 3 @PostMapping

@PostMapping(value=“/insert”) = @RequestMapping(value=“/insert”,method = RequestMethod.POST)
该注解通常在新增数据的时候使用 ----->新增

1. 4 @DeleteMapping

@DeleteMapping(value=“/delete”) = @RequestMapping(value=“/delete”,method = RequestMethod.DELETE)
该注解通常在删除数据的时候使用 ----->删除

1. 5 @PutMapping

@PutMapping(value=“/update”) = @RequestMapping(value=“/update”,method = RequestMethod.PUT)
该注解通常在修改数据的时候使用 ----->更新

2. SpringBoot实现RESTful

2.1 认识RESTful

RESTful:是一种互联网软件架构设计的风格
它只是提出了一组客户端和服务端交互时的架构理念和设计原则,基于这种理念和原则设计的接口可以更简洁,更有层次。

任何的技术都可以实现这种理念,如果一个架构符合REST原则,就称它为RESTful架构。

比如:
我们要访问一个http接口:http://localhost:8080/boot/order?id=1001&status=1
采用RESTful风格则http地址为:http://localhost:8080/boot/order/1001/1

2.2 SpringBoot开发RESTful主要注解

2.2.1 @PathVariable

@PathVariable
获取url中的数据
该注解是实现RESTful最主要的一个注解

2.2.2 @PostMapping

@PostMapping
接收和处理Post方式的请求

 @PostMapping("/student/{id}/{name}")   //RESTful风格public Object student(@PathVariable("id") Integer id,@PathVariable("name") String name){HashMap<String,Object> restMap = new HashMap<>();restMap.put("id",id);restMap.put("name",name);return restMap;}

注意:请求路径冲突问题

1.通常在RESTful风格方法的请求方式会按增删改查的请求方式来区分
2.修改请求路径
3.RESTful请求风格要求路径中使用的单词都是名词,最好不要出现动词
增POST请求
删DELETE请求
改PUT请求
查GET请求

如果传的参数不是数据库表中的字段可以不采用斜杠

3.测试

请求地址相同,通过请求方式不同来区分请求

@RestController
public class RestfulController {@GetMapping("/rest")public Object rest(Integer id ,String name){Student student = new Student();student.setId(id);student.setName(name);return student;}@GetMapping("/student/{id}/{name}")   //RESTful风格public Object student(@PathVariable("id") Integer id,@PathVariable("name") String name){HashMap<String,Object> restMap = new HashMap<>();restMap.put("id",id);restMap.put("name",name);return restMap;}@PostMapping("/student/{id}/{age}")public Object student2(@PathVariable("id") Integer id,@PathVariable("age") Integer age){HashMap<String,Object> restMap = new HashMap<>();restMap.put("id",id);restMap.put("age",age);return restMap;}
}

GET方式请求
POST方式请求

SpringBoot集成SpringMVC相关推荐

  1. 从web.xml谈谈SpringMVC集成spring的初始化流程及SpringBoot集成SpringMVC

    一.关于servlet 详解servlet,https://www.runoob.com/servlet/servlet-tutorial.html 总览一下: servlet与servlet容器 J ...

  2. 【SpringBoot零基础案例02】【IEDA 2021.1】SpringBoot框架集成SpringMVC

    新建一个模块,加入Spring Web依赖 创建完成后我们可以在右侧[Maven]选项卡中看到SpringBoot已经自动配置集成了json.tomcat.spring以及springmvc等信息,不 ...

  3. thymeleaf依赖_玩转SpringBoot集成 Thymeleaf 模版引擎

    随着互联网技术的发展,在前后端分离开发模式已经逐渐成为主流的今天,前后端技术的划分也越来越清晰,社会分工进一步细化,职业岗位也更加细分,慢慢开始就有了前端攻城狮和后端攻城狮,技术也进一步细分,出现了以 ...

  4. 帮你理清 SpringBoot 与 SpringMVC 的关系

    spring boot就是一个大框架里面包含了许许多多的东西,其中spring就是最核心的内容之一,当然就包含spring mvc.spring mvc 只是spring 处理web层请求的一个模块. ...

  5. java整合mybatis,springboot集成mybatis

    # springboot集成mybatis springboot基础mybatis还是很简单的,比之前springmvc集成mybatis要少很多配置,只要大家按照步骤一步一步来,几分钟就 能实现.具 ...

  6. 教你理清SpringBoot与SpringMVC的关系

    spring boot就是一个大框架里面包含了许许多多的东西,其中spring就是最核心的内容之一,当然就包含spring mvc.spring mvc 是只是spring 处理web层请求的一个模块 ...

  7. springboot和springMVC

    Spring 最初利用"工厂模式"(DI)和"代理模式"(AOP)解耦应用组件.大家觉得挺好用,于是按照这种模式搞了一个 MVC框架(一些用Spring 解耦的 ...

  8. SpringBoot——SpringBoot集成jsp

    1.开始开始开始 SpringBoot前端如果要使用jsp了话,需要在pom文件中加入以下依赖. <!-- 引入SpringBoot内嵌Tomcat对jsp的解析依赖,不添加这个解析不了jsp ...

  9. SpringBoot集成knife4j实现Swagger接口文档

    前言:如果你是后台开发,提供restful接口给前端,建议你使用Swagger3提供restful的接口文档自动生成和在线接口调试.knife4j是对Swagger进一步封装,其优化了API文档的UI ...

最新文章

  1. php unset 静态变量,php如何删除静态变量
  2. 【Java 并发】详解 ThreadLocal
  3. 【Windows 逆向】OD 调试器工具 ( CE 工具通过查找访问的方式找到子弹数据基地址 | 使用 OD 工具附加游戏进程 | 在 OD 工具中查看子弹数据地址 | 推荐 )
  4. 怎样使用Secure CRT查看vcenter和esxi主机的日志文件
  5. PyTorch 之 Datasets
  6. Eclipse插件中的SLF4J登录
  7. 耗时又繁重的SQL诊断优化,以后就都交给数据库自治服务DAS吧!
  8. 常见移动机器人运动学模型总结(图片版)
  9. 记录MySql错误消息
  10. [Winter Vacation] 语文实词虚词练习册答案
  11. 性格木讷面试时如何脱颖而出?
  12. 网络安全——Cobaltstrike
  13. selenium自动化图片不加载设置
  14. 2022年度猫狗粮销售数据:十大热门品牌排行榜,哪些品牌入围?
  15. 为什么abc三相电压加起来是0,而坐标变换之后在dq0坐标系中有值呢?——矢量控制中abc到dq0坐标系的坐标变换的思考
  16. [论文阅读笔记14]Nested named entity recognition revisited
  17. 【架构师实践课】微服务如何拆分?大型微服务项目从何下手?
  18. 都叫兽!你在说什么?@。@!看字幕(适配器模式)
  19. servlet的生命周期 (四个阶段).
  20. poi java 导出word_java poi 生成word文档并下载

热门文章

  1. 新托福写作:对比论证法
  2. 使用内网穿透实现外网访问本地接口
  3. 实战踩坑---MFC---CreateEvent
  4. vue项目实录:下拉刷新组件的开发及slot的使用
  5. XeLaTeX下LaTeX中文字体加粗解决方案
  6. NYOJ284坦克大战广度搜索
  7. python中 什么意思_Python里面的这几个梗,你能回答出来吗
  8. Windows 10通过cmd进入bios教程
  9. 安卓应用移植鸿蒙(二):移植安卓的字符串等资源文件到鸿蒙应用
  10. ps把下一幅画透到上一幅去_一千字值得一幅画