SpringMVC-04

RESTful是一种针对Web服务的软件架构风格,它基于HTTP协议和其他标准,用于构建可扩展、可维护和可拓展的网络应用程序。
RESTful风格的设计原则包括以下几点:

  1. 资源:将应用程序的所有内容都视为资源,每个资源都有唯一的标识符(URI)。
  2. 统一接口:通过使用统一的HTTP方法(GET、POST、PUT、DELETE等)和标准的HTTP状态码来对资源进行操作。
  3. 无状态:每个请求都应该包含足够的信息,以便服务器能够理解并 处理请求,而不需要依赖于之前的请求。
  4. 可缓存性:服务器可以指定资源是否可以被缓存,以提高性能和可伸缩性。
  5. 分层系统:客户端和服务器之间可以存在多个中间层,这些中间层可以提供负载均衡、缓存等功能,以提高系统的性能和可扩展性。
    通过遵循RESTful风格,可以使得应用程序更具有灵活性和可拓展性,并且能够通过使用统一的接口和标准的HTTP协议进行跨平台和跨语言的通信。

查询 GET
保存 POST
删除 DELETE
更新 PUT

选择传递参数:保存 修改 用json
查询 删除:如果参数是id用路径传递参数 如果参数不是id,是范围参数 用param传递参数

    @GetMappingpublic List<User> page(@RequestParam(required = false,defaultValue = "1") int page, @RequestParam(required = false,defaultValue = "10") int size){return null;}@PostMappingpublic User save(@RequestBody User user){return user;}@GetMapping({"id"})public User detail(@PathVariable Integer id){return null;}@PutMappingpublic User update(@RequestBody User user){return user;}@DeleteMapping({"id"})public User delete(@PathVariable Integer id){return null;}@GetMapping("seach")public List<User> search(String keyword,@RequestParam(required = false,defaultValue = "1") int page,@RequestParam(required = false,defaultValue = "10") int size){return null;}

声明式异常:1声明一个全局异常处理类
2.自定义异常处理方法

//@ControllerAdvice        //可以返回逻辑视图 转发 重定向
@RestControllerAdvice    //相当于@ControllerAdvice 和 @ResponseBody 写了就可以不写那两个public class GlobalExceptionHandler {@ExceptionHandler(ArithmeticException.class)public Object ArithmeticExceptionHandler(ArithmeticException e){//自定义处理异常String message=e.getMessage();System.out.println(message);return message;}@ExceptionHandler(Exception.class)  //全局异常处理    没找到匹配的异常则执行这个public Object ExceptionHandler(Exception e){//自定义处理异常String message=e.getMessage();System.out.println(message);return message;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/612776.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models

Haoran Wei1∗, Lingyu Kong2∗, Jinyue Chen2, Liang Zhao1, Zheng Ge1†, Jinrong Yang3, Jianjian Sun1, Chunrui Han1, Xiangyu Zhang1 1MEGVII Technology 2University of Chinese Academy of Sciences 3Huazhong University of Science and Technology arXiv 2023.12.11 …

通过dockerfile基于centosdocker镜像和postgresql12的离线安装包制作单机版的Docker镜像

可以按照以下步骤来制作一个基于CentOS Docker镜像和PostgreSQL 12离线安装包的单机版Docker镜像&#xff1a; 首先&#xff0c;创建一个空文件夹作为工作目录。 将CentOS Docker镜像保存到本地文件系统中&#xff0c;命名为centos.tar。你可以从Docker Hub下载CentOS Docker镜…

Docker部署Homepage个人引导页

个人名片&#xff1a; 对人间的热爱与歌颂&#xff0c;可抵岁月冗长&#x1f31e; 个人主页&#x1f468;&#x1f3fb;‍&#x1f4bb;&#xff1a;念舒_C.ying 个人博客&#x1f30f; &#xff1a;念舒_C.ying Homepage | 主页 1. 安装环境2. Docker部署 原作者&#xff1a;無…

flutter release包使用adb查看日志排查错误实践

release包给出去后发现出现无法启动的情况&#xff0c;需要flutter开发排查 &#xff0c;直接将release包安装到模拟器 使用adb 去连接模拟器 我这边是MuMu模拟器 adb connect 127.0.0.1:7555 然后查看设备列表 adb devices 直接输入0 即选择第一个设备 然后使用 adb logcat …

Python爬虫---Scrapy项目的创建及运行

Scrapy是一个为了爬取网站数据&#xff0c;提取结构性数据而编写的应用框架。 可以应用在包括数据挖 掘&#xff0c;信息处理或存储历史数据等一系列的程序中。 1. 安装scrapy&#xff1a; pip install scrapy 注意&#xff1a;需要安装在python解释器相同的位置,例如&#xf…

Spring原理-7.切点与切面

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱吃芝士的土豆倪&#xff0c;24届校招生Java选手&#xff0c;很高兴认识大家&#x1f4d5;系列专栏&#xff1a;Spring原理、JUC原理、Kafka原理、分布式技术原理、数据库技术&#x1f525;如果感觉博主的文章还不错的…

静态网页设计实践(HTML+CSS)

一、前端程序员必会三大编程语言 &#xff08;一&#xff09;HTML&#xff08;.html/.htm&#xff09; 超文本标记语言&#xff08;HyperText Markup Language&#xff0c;简称:HTML&#xff09;是一种用于创建网页的标准标记语言。HTML是一种基础技术&#xff0c;常与CSS、Ja…

高通rb5的fastboot设备识别不了及驱动安装问题

Android fastboot驱动无法安装和识别问题-CSDN博客 以上为转载出处。

批量求和(文件)

请编写函数&#xff0c;从一个文件中读取实数求和&#xff0c;并将结果写入另一个文件。 函数原型 void BatchAdd(FILE *in, FILE *out); 说明&#xff1a;参数 in 和 out 为指示两个文件的指针。函数从 in 所指文件中的读出数据&#xff0c;将结果写入 out 所指的文件中。 …

C语言中socket模块、线程

socket编程 windows下TCP协议 测试环境基于Win10 x64&#xff0c;Visual Studio 服务端代码1. 初始化Winsock库&#xff1b;2. 创建套接字&#xff1b;3. 配置服务端地址&#xff1b;4. 绑定套接字&#xff1b;5. 监听连接&#xff1b;6. 接收连接&#xff1b;7. 发送数据给客…

使用global mapper将分块DSM/DOM合并导出

使用global mapper将分块DSM/DOM合并导出 使用context capture生产dom/dsm时通常因为内存问题而选择分块生产&#xff0c;那么得到的dsm/dom则是一块一块的&#xff0c;如下&#xff1a; 那么为了合并成一张影像&#xff0c;可以使用强大的地图软件 Global Mapper&#xff0c…

番外篇-区块链基础知识入门

今天聊聊番外篇之Web3、区块链的基础知识~ 1. 区块链是如何工作的&#xff1f; Hash算法 将输入的数据映射为一个固定长度的字符串字符串是64长度&#xff0c;16进制&#xff08;2^4&#xff09;&#xff0c;4 * 64 256【SHA256】hash演示&#xff1a;https://andersbrownwo…

android 9 reboot流程

机器出现开机 自动进入fastboot模式。可能是init 那个进程挂了 然后调用了 RebootSystem(ANDROID_RB_RESTART2, “bootloader”); 函数进入重启流程&#xff0c;然后重启后进入fastboot 浅读一下reboot流程和怎么进入的fastboot 比如说是那个进程挂了调用了这个函数&#xff0c…

实现目标检测中的数据格式自由(labelme json、voc、coco、yolo格式的相互转换)

在进行目标检测任务中&#xff0c;存在labelme json、voc、coco、yolo等格式。labelme json是由anylabeling、labelme等软件生成的标注格式、voc是通用目标检测框&#xff08;mmdetection、paddledetection&#xff09;所支持的格式&#xff0c;coco是通用目标检测框&#xff0…

cosmos及特定应用程序的区块链

特定应用程序的区块链,简单来说&#xff0c;一个区块链就是一个专门的应用程序。为了实现某一特定的去中心化应用而专门实现一个区块链。 传统的用智能合约构建去中心化应用不行吗&#xff1f; 灵活性不足&#xff1a;智能合约本质上受到虚拟机本身的限制。例如&#xff0c;以…

BLHeli_S 代码分析---BLHeli.asm头部声明文件分析

BLHeli_S 代码之 A.inc 分析 指令含义及作用 $NOMOD51使编译器不使能预定义的8051符号&#xff0c;避免产生重复定义的错误 示例代码1 IF BESCNO XP_3A_Main MODE EQU 0 ; Choose mode. Set to 0 for main motor $include (XP_3A.inc) ; Select XP 3A pinout ENDIF…

【Spring Boot】SpringBoot maven 项目创建图文教程

创建一个Spring Boot项目并使用Maven进行构建是一项相对简单的任务。以下是使用IntelliJ IDEA创建Spring Boot Maven项目的详细教程&#xff1a; 步骤 1&#xff1a;安装 IntelliJ IDEA 确保你已经安装了最新版本的 IntelliJ IDEA。你可以从官方网站下载并安装。 步骤 2&am…

基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖微信小程序端(十一)

加入redis缓存 1. 缓存菜品1.1 问题说明1.2 实现思路1.3 代码开发1.4 功能测试 2. 缓存套餐2.1 Spring Cache2.1.1 介绍2.1.2 常用注解2.1.3 入门案例 2.2 具体实现思路2.3 代码开发 1. 缓存菜品 1.1 问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;…

Spring学习之——代理模式

Proxy代理模式 介绍 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下&#xff0c;一个对象不适合或者不能直接引用另一个对象&#xff0c;而代理对象可以在客户端和目标对象之间起到中介的作用 2. 组成 抽象角色&#xff1a;通过接口或抽象类声明真实角色实现的…

cfa一级考生复习经验分享系列(十九)

关于考试时间 机考一共180题&#xff0c;分上下两场&#xff0c;中间可以休息30分钟&#xff0c;我是直接一口气做完的&#xff0c;如果觉得要休息的可以考完上半场跟监考老师示意一下&#xff0c;也可以不休息&#xff0c;不过好像连续做了多长时间会强制休息。 关于考题分布…