IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> SpringBoot集成SpringMVC -> 正文阅读

[Java知识库]SpringBoot集成SpringMVC

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方式请求
在这里插入图片描述

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-05-09 12:26:14  更:2022-05-09 12:29:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:15:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码