REST开发

news2024/11/18 18:23:42

REST风格

  • 一、简介
    • 优点
    • REST风格
  • 二、使用
  • 三、注解
    • @PathVariable
    • @ResponseBody、@RequestParam和@PathVariable
      • 区别
      • 应用
  • 快速开发


一、简介

REST(Representational State Transfer),表现形式状态转换

  • 传统风格资源描述形式
    http://localhost/user/getById?id=1
  • REST风格描述形式
    http://localhost/user/1

优点

  • 隐藏资源的访问行为,无法通过地址得知资源是何种操作
  • 书写简化

REST风格

REST是约定形式,约定不是规范,可以打破,所以称REST风格,而不是REST规范

资源描述形式作用请求方式
http://localhost/users查询全部用户信息GET(查询)
http://localhost/users/1查询指定用户信息GET(查询)
http://localhost/users添加用户信息POST(新增/保存)
http://localhost/users修改用户信息PUT(修改/更新)
http://localhost/users/1删除用户信息DELETE(删除)
在这里插入图片描述

根据REST风格对资源进行访问称为RESTful

二、使用

  • 1、设定http请求动作
    method = RequestMethod后根据操作行为选定对应的东西
    在这里插入图片描述
  • 2、设定请求参数(路径变量)
    (1)路径上要有参数的占位
    (2)在形参上将名称与前者对应,并加上@PathVariable
    在这里插入图片描述

三、注解

@PathVariable

  • 类型:形参注解
  • 位置:SpringMVC控制器方法形参定义前面
  • 作用:绑定路径参数与处理器方法形参间的关系,要求路径参数名称与形参名一一对应

@ResponseBody、@RequestParam和@PathVariable

区别

  • @RequestParam用于接受url地址传参或表单传参
  • @ResponseBody用于接收JSON数据
  • @PathVariable用于接收路径参数,使用{参数名称}描述路径参数

应用

  • 后期开发中,发送请求参数拆过1个时时,以JSON格式为主,@ResponseBody应用较广
  • 如果发送非JSON格式数据,选用@RequestParam接收请求参数
  • 采用RESTful进行开发,当参数数量较少时,可以采用@PathVariable接收请求路径变量,通常用于传递id值

快速开发

使用@RestController将@Controller和@ResponseBody合并置于类上方

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

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

相关文章

Smartbi电子表格软件集成的优势

Smartbi电子表格软件作为国内顶尖的企业报表工具,具有“真Excel”特色,直接用Excel作为设计器,仅需安装一个插件就可以解决众多报表难题。无需增加学习成本,学习一个新的设计器,更能解决Excel的取数、性能等问题&#…

Wireless M-Bus介绍-摘自OMS

Wireless M-Bus(wM-Bus或无线M-Bus)是成熟的Wired M-Bus(有线M-Bus)标准的后续增强。2003年(这里估计是资料错误,第一个无线M-Bus的标准是2013年的),EN 13757-4首次对其进行了描述(?)。该标准为M-Bus层模型…

Python 全栈系列216 APIFunc.Database启动流程

说明 上次做了一些改进,现在关注使用的流程。 内容 1 基础概念 能大约知道大致的几个部分有助于记忆操作步骤,以后这个项目的代号就是ABD了。 1 所有启动相关的代码全部封装在镜像apifunc_database_model1:v3,基于这个镜像就可以启动一个所有对应的服务流2 在Portal上有相关…

为WEB3 的GameFi行业爆发提供全新动力

WEB3 GameFi的突破口在2022年末Octopus Network Co-founder Louis指出,GameFi要完成2023年的全新爆发需要将所有权与经营权分离,所有用户共同参与由平台成长带来的市场红利,单一的Gamefi将会更加产品化,体验化,具备整合…

详解树状数组

前言树状数组或二叉索引树(Binary Indexed Tree),又以其发明者命名为 Fenwick 树。其初衷是解决数据压缩里的累积频率的计算问题,现多用于高效计算数列的前缀和、区间和。它可以以 O(logn) 的时间得到任意前缀和。并同时支持在 O(…

JVM线上问题定位命令

概述 本文主要介绍下平常可能会使用到的命令:jps、jinfo、jmap、jstat、jstack jps jps主要是查看Java进程号,有个Java进程号后面的命令也才能发挥作用。 jps -help可以列出jps支持的参数,大家可以试一下 jinfo jinfo后面跟jps打出来的…

nvm(node版本管理)

文章目录1 安装2 配置镜像,提高下载速度3 常用命令4 vue版本与node版本的依赖关系注意事项1 nvm use 报错1 安装 官方下载地址: https://nvm.uihtm.com/ 官网同时还给出了非常详细的指令文档。 下载windows版本的安装包,按照提示点击下一步…

网络通信Socket学习记录

网络通信Socket Socket socket起源于unix,而unix/linux基本思想就是一切皆文件,也称为文件描述符socket是对“open—write/read—close”的一种实现socket是对TCP/IP协议的一种封装,socket本身不是协议,通过socket才能使用TCP/I…

一站式轻监控轻运维系统nezha(上篇)

本文软件由网友 114514 推荐; 什么是哪吒监控 ? 哪吒监控 是自托管、轻量级服务器和网站监控运维工具,属于一站式轻监控轻运维系统,分主控端和被控端,主控端提供访问的面板,被控端就是需要监控的服务器。 准…

Python的集合(set)类型、None类型.....

Day07 数据类型(下) dict,字典类型,一个容器,元素必须是键值对 Set,集合类型,一个不允许重复&可变类型(元素可哈希) float,浮点类型,常见的小数 文章目录1.集合(se…

this和super的区别

0.定义区别this:是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。 super:可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最 近的一个父类。…

docker镜像lasest具体是哪个版本

拿Nginx举例: 我们安装镜像Nginx时,假设使用的下面这样: docker pull nginx:latest 执行上面的命令后,最后得到:"Status: Downloaded newer image for nginx:latest" 已经下载最新的Nginx了。 那么问题来…

JUC并发编程之ArrayBlockingQueue的底层原理

作者简介:专注于研究Linux内核、Hotspot虚拟机、汇编语言、JDK源码、各大中间件源码等等喜欢的话,可以三连关注~ArrayBlockingQueue的介绍在JUC包下关于线程安全的队列实现有很多,那么此篇文章讲解ArrayBlockingQueue的实现原理。相对于Linke…

闲置vps出售流量赚钱

原理分析最近,一直在关注着vps赚钱这点事儿,今天就是填一下以前的坑。这里所说的出售流量,可能大家都听说过,把vps流量卖给别人获得一定的报酬。但是你要知道数据中心IP的流量是很便宜的,最贵的是住宅IP和移动流量。图…

别搜了!2023年PMP备考攻略全指南看这里就够了!

一、考试时间 PMP考试是一年四次的,一般在3月、6月、9月、12月份考试(考试时间一般为周六)。 所以如果有想法一定要在这个几个时间点之间备考准备哦。 二,报名流程 一般都是中英文两个官网都报名 1.英文报名 需要在PMI官方网…

Ubuntu救援模式emergency mode笔记

如果是磁盘自检出错,进入救援模式emergency mode,可以参考如下。chatgpt给出提示:如果Ubuntu磁盘自检出错,需要进入救援模式,可以以下步骤操作:在启动画面中,按下Shift键进入Grub菜单。选择「Ad…

Android精准开发——OKHTTP中拦截器原理及实现

1.前言 提到OKHttp大家都不陌生,OKHttp中的拦截器也在大家的项目中或多或少的被使用到,通常我们的使用是这样的 OkHttpClient client new OkHttpClient.Builder() .addInterceptor(new LoggingInterceptor()) .addNetworkInterceptor(new Token…

SpringBoot 整合 mybatis-generator 插件

SpringBoot 整合 mybatis-generator 插件 mybatis-generator 插件 mybatis 相关依赖 <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>3.0.1</version> &…

Java学习笔记——接口

目录接口的定义和特点JDK8版本中接口成员的特点——默认方法和静态方法JDK9版本中接口成员的特点——私有方法类和接口的关系接口的定义和特点 JDK8版本中接口成员的特点——默认方法和静态方法 JDK9版本中接口成员的特点——私有方法 类和接口的关系

JVM 基础 - JVM 内存结构

JVM 内存结构运行时数据区一、程序计数器&#xff08;线程私有&#xff09;二、虚拟机栈&#xff08;线程私有&#xff09;三、本地方法栈&#xff08;线程私有&#xff09;四、堆内存&#xff08;线程共享&#xff09;五、方法区&#xff08;线程共享&#xff09;运行时数据区…