使用RESTful风格api命名接口时,GET方法怎么传递多个参数

2023-10-27

 
 

点击上方“码农突围”,马上关注

这里是码农充电第一站,回复“666”,获取一份专属大礼包

真爱,请设置“星标”或点个“在看

在使用RESTful风格不同于普通借口命名的一点是,它规范使用/来表示资源之间的层级关系。

4cf8c5b1903a9418dcf0aee9d56f0763.png

对于普通形式命名的接口,假设需要传入lessonId、lessonType2个必选项,在controller传入参数时,可以写成下图的形式:

0f9165356b61630e64003fb6d7a82813.png

但是对于RESTful风格的url,传入参数是应该用到@PathVariable注解,示例解析如下:

96b7e87fb016e51fdb79143570fe1f7f.png

那么对于传入传入lessonId、lessonType2个必选项时,用@PathVariable注解的话,应该写成:

1f9a33ef4b22c9b9425cb643d3f8fdea.png

调用之后的结果显示成功。

6124a0d3f3ab7b464b9d40824c77484c.png

但是,还有一种情况,假如传入的参数有的是非必选项,那么应该把可能出现的url在声明时全部列出来,并且把@PathVariable注解配置的参数设置为非必选(required=false),如下图:

9b6b05442e33068cbcea0c4bd3328cb2.png

调用之后结果如下:

a96cfaba6cdf70d402eda0f09fd288aa.png

由此可见,对于RESTful风格的接口,当查询接口需要传入一个或者两个参数的时候,编码起来较为简单,但是当传入3个以上参数的手,要列举出url的所有可能性还是比较复杂的。所以,RESTful风格的接口传入参数比较复杂时,还是尽量使用POST方法比较简便。

(感谢阅读,希望对你所有帮助)

来源:blog.csdn.net/qq_35075909/article/details/94005211

 
 
-End-
最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!

点击

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用RESTful风格api命名接口时,GET方法怎么传递多个参数 的相关文章

  • Java:扩展类并实现具有相同方法的接口

    可能无法完成以下操作 我收到编译错误 继承的方法 A doSomthing int 无法隐藏 B 中的公共抽象方法 public class A int doSomthing int x return x public interface
  • 如何在由子控件组成的 SWT 复合材料上跟踪鼠标?

    我创建了自己的控件 我想跟踪鼠标并添加一个MouseTrackListener 很遗憾MouseEnter and MouseLeave当鼠标移动到我的合成部分 即标签和按钮 上时 也会生成事件 Mouse enter mouse ente
  • TreeMap 删除所有大于某个键的键

    在项目中 我需要删除键值大于某个键的所有对象 键类型为Date 如果重要的话 据我所知TreeMapJava中实现的是红黑树 它是一种二叉搜索树 所以我应该得到O n 删除子树时 但除了制作尾部视图并一一删除之外 我找不到任何方法可以做到这
  • java.lang.ClassNotFoundException:javax.mail.MessagingException

    我想使用 eclipse 将电子邮件从我的 gmail 帐户发送到另一个邮件帐户 我使用 apache tomcat 7 0 34 作为我的 Web 服务器 并使用端口 8080 作为 apache 服务器 HTTP 1 1 并使用 JRE
  • 垃圾收集器如何在幕后工作来收集死对象?

    我正在阅读有关垃圾收集的内容 众所周知 垃圾收集会收集死亡对象并回收内存 我的问题是 Collector 如何知道任何对象已死亡 它使用什么数据结构来跟踪活动对象 我正在研究这个问题 我发现GC实际上会跟踪活动对象 并标记它们 每个未标记的
  • 与 Eclipse 中的 Java Content Assist 交互

    作为我的插件项目的一部分 我正在考虑与 Eclipse 在 Java 文件上显示的内容辅助列表进行交互 我正在尝试根据一些外部数据对列表进行重新排序 我看过一些有关创建新内容辅助的教程 但没有看到有关更改现有内容辅助的教程 这可能吗 如果是
  • eclipse行号状态行贡献项是如何实现的?

    我需要更新状态行编辑器特定的信息 我已经有了自己的实现 但我想看看 eclipse 贡献项是如何实现的 它显示状态行中的行号 列位置 谁能指点一下 哪里可以找到源代码 提前致谢 亚历克斯 G 我一直在研究它 它非常复杂 我不确定我是否了解完
  • 从 MATLAB 调用 Java?

    我想要Matlab程序调用java文件 最好有一个例子 需要考虑三种情况 Java 内置库 也就是说 任何描述的here http docs oracle com javase 6 docs api 这些项目可以直接调用 例如 map ja
  • 提供节点名或服务名,或未知 Java

    最近我尝试运行我的 Java 项目 每当我运行它并将其打开到我得到的服务器地址时 Unable to determine host name java net UnknownHostException Caused by java net
  • Java Applet 中的 Apache FOP - 未找到数据的 ImagePreloader

    我正在研究成熟商业产品中的一个问题 简而言之 我们使用 Apache POI 库的一部分来读取 Word DOC 或 DOCX 文件 并将其转换为 XSL FO 以便我们可以进行标记替换 然后 我们使用嵌入到 Java 程序中的 FOP 将
  • 不可变的最终变量应该始终是静态的吗? [复制]

    这个问题在这里已经有答案了 在java中 如果一个变量是不可变的并且是final的 那么它应该是一个静态类变量吗 我问这个问题是因为每次类的实例使用它时创建一个新对象似乎很浪费 因为无论如何它总是相同的 Example 每次调用方法时都会创
  • 为什么\0在java中不同系统中打印不同的输出

    下面的代码在不同的系统中打印不同的输出 String s hello vsrd replace 0 System out println s 当我在我的系统中尝试时 Linux Ubuntu Netbeans 7 1 它打印 When I
  • 使用 HtmlUnit 定位弹出窗口

    我正在构建一个登录网站并抓取一些数据的程序 登录表单是一个弹出窗口 所以我需要访问这个www betexplorer com网站 在页面的右上角有一个登录链接 写着 登录 我单击该链接 然后出现登录弹出表单 我能够找到顶部的登录链接 但找不
  • Ruby on Rails REST 设计问题 - 在账户之间转账

    我有一个 Account 类 想要实现转账屏幕以允许用户在 2 个账户之间转账 我将如何实现这种 RESTful 方式 我有标准帐户和休息操作 那很好 但我该如何实现转移呢 通常我只会向帐户控制器和相应的视图添加一个名为 transfer
  • 将 JScrollPane 添加到 JFrame

    我有一个关于向 Java 框架添加组件的问题 我有一个带有两个按钮的 JPanel 和一个添加了 JTable 的 JScrollPane 我想将这两个添加到 JFrame 中 我可以将 JPanel 添加到 JFrame 或将 JScro
  • 子类构造函数(JAVA)中的重写函数[重复]

    这个问题在这里已经有答案了 为什么在派生类构造函数中调用超类构造函数时 id 0 当创建子对象时 什么时候在堆中为该对象分配内存 在基类构造函数运行之后还是之前 class Parent int id 10 Parent meth void
  • Java RMI - 客户端超时

    我正在使用 Java RMI 构建分布式系统 它必须支持服务器丢失 如果我的客户端使用 RMI 连接到服务器 如果该服务器出现故障 例如电缆问题 我的客户端应该会收到异常 以便它可以连接到其他服务器 但是当服务器出现故障时 我的客户端什么也
  • 抛出 Java 异常时是否会生成堆栈跟踪?

    这是假设我们不调用 printstacktrace 方法 只是抛出和捕获 我们正在考虑这样做是为了解决一些性能瓶颈 不 堆栈跟踪是在构造异常对象时生成的 而不是在抛出异常对象时生成的 Throwable 构造函数调用 fillInStack
  • MiniDFSCluster UnsatisfiedLinkError org.apache.hadoop.io.nativeio.NativeIO$Windows.access0

    做时 new MiniDFSCluster Builder config build 我得到这个异常 java lang UnsatisfiedLinkError org apache hadoop io nativeio NativeIO
  • java'assert'和'if(){}else exit;'之间的区别

    java和java有什么区别assert and if else exit 我可以用吗if else exit代替assert 也许有点谷歌 您应该记住的主要事情是 if else 语句应该用于程序流程控制 而assert 关键字应该仅用于

随机推荐

  • UE4 性能优化方法(工具篇)

    官方文档链接 https docs unrealengine com latest CHN Engine Performance index html 本文依据UE4官方文档以及官方博客等总结而来 可能不全面 后面会陆续添加 内置工具的详细
  • 将Servlet中的ResultSet显示到Jsp页面

    Servlet从数据库中拿到结果以后 对用户来说 他们并不关心你怎么拿的 恰恰最重要的是 他们要看到信息展示在网页上 那这个该怎么实现 言归正传 拿到数据以后 想要把数据展示到Jsp页面上 这样办 跳转 转发和重定看大佬文章 清晰又明白 转
  • vscode连接服务器不用每次都输入密码

    1 首先在自己的本地生成公钥和密钥 git bash 输入以下命令 ssh keygen 然后一路回车 就会在自己用户 ssh文件夹下生成一对密钥 生成的公钥和密钥默认放在 ssh文件夹 我的是 2 修改本地的配置文件 添加下面这行属性到配
  • python学习笔记---IO编程【廖雪峰】

    IO编程 IO在计算机中指Input Output 也就是输入和输出 由于程序和运行时数据是在内存中驻留 由CPU这个超快的计算核心来执行 涉及到数据交换的地方 通常是磁盘 网络等 就需要IO接口 IO编程中 Stream 流 是一个很重要
  • linux中的阻塞机制及等待队列

    阻塞与非阻塞是设备访问的两种方式 驱动程序需要提供阻塞 等待队列 中断 和非阻塞方式 轮询 异步通知 访问设备 在写阻塞与非阻塞的驱动程序时 经常用到等待队列 一 阻塞与非阻塞 阻塞调用是没有获得资源则挂起进程 被挂起的进程进入休眠状态 调
  • 输出数组中最大和最小的元素值及其下标

    设计完整的程序实现以下功能 一个数组有10个元素 例如 1 8 10 2 5 0 7 15 4 5 利用指针作为函数参数 输出数组中最大和最小的元素值及其下标 include
  • TOPP问题(Time-Optimal Path Parameterization)详细解析(附代码)

    题目来源 深蓝学院课程 机器人中的数值优化 主讲 汪哲培博士 最后大作业 参考资料 课程ppt与视频 助教和大佬的提示和讨论 Verscheure D et al Time optimal path tracking for robots
  • java List的contains和remove方法,底层依赖的的对象的equals

    实例 新建一个Person类 像List中添加Person 进行contains和remove方法的测试 Person类 name和age两个属性 但是没有重写equals方法 public class Person private Str
  • Vue2中后台使用dhtmlx-gantt插件实现复杂甘特图

    在工作中由于业务的复杂性 需要使用dhtmlx gantt来实现复杂表格 以下是甘特图的实现以及一些配置描述 由于官方文档是英文的 所以对英文不好的不太友好 官方文档 Gantt API Gantt Docs 相关配置 1 一行需要展示多条
  • Spring框架 AOP

    AOP 面向切面编程 是一种新的方法论 是对传统OOP 面向对象编程 的补充 AOP编程时 扔然需要定义公共功能 但可以明确的定义这个功能在哪里 以什么方式应用 并且不必修改受影响的类 这样一来横切关注点就被模块化到特殊的对象 切面 里 a
  • vscode 所有的默认配置项

    文档 官网 setting json 快速打开 使用快捷键 Ctrl Shift P 然后搜索setting 首选项 打开默认设置 json 这个打开的是defaultSettings json文件 可以在你的默认配置中看到这些 然后自己配
  • 对sql注入的一些理解

    前言 第一个接触的漏洞就是sql注入 一个危害很大到现在都还在流行的漏洞 利用sql注入可以对网站进行脱库 也可以写入shell控制服务器 假期正好有时间 再一次梳理关于sql注入的一些知识 自身理解 我对这个漏洞的理解就是前端的数据可以直
  • kubeadm安装

    一 硬件环境准备 三台机器 计划为 一台master 两台node 序号 ip 系统版本 hostname 配置 节点类型 1 192 168 137 61 CentOS 7 4 1611 Core master61 2核2G Master
  • 主流的6个Go语言Web框架

    GO 语言爱好者的最佳Web框架 如果你是自己写一个小应用程序 那你可能不需要Web框架 但是如果你要做产品 那么你肯定需要一个好的框架 如果你认为你有相应的知识和经验 你会自己编写所有的这些代码么 你有时间找到一个产品级的外部包来完成工作
  • google各国网址

    google各国网址 巴西 www google com br 瑞士 www google ch 荷兰 www google nl 澳大利亚 www google com au 印度 www google co in 罗马尼亚 www go
  • es每次结果不一样_Elasticsearch 分页坑之---评分一致导致数错乱

    1 背景介绍 最近搞es搜索 match查询默认按照评分排序 发现有一部分数据评分一致 一开始也没注意 客户端调用分页的时候 突然发现数据重复错乱很严重 挖槽顿时觉得 挖槽怎么那么坑 from size 做分页 每次都是重新加载 所以评分一
  • react不能用@引用文件

    方法一 步骤 1 删除node models 步骤 2 重新cnpm install 如果cnpm install时右上角出现eslint 省略号是因为记不清了 点击选择忽略 可能会解决
  • iOS OpenGL渲染YUV数据

    链接 http www jianshu com p 39cde80d60e2 本文主要介绍使用OpenGL ES来渲染I420 YUV420P NV12 YUV420SP 的方法 关于YUV的知识 可以看这里 YUV颜色编码解析 同样会用到
  • [519]matplotlib(一)

    import numpy as np 高斯分布 mean 0 0 cov 0 1 1 0 x y np random multivariate normal mean cov 10000 T 使用NumPy 的 histogram2d 函数
  • 使用RESTful风格api命名接口时,GET方法怎么传递多个参数

    点击上方 码农突围 马上关注 这里是码农充电第一站 回复 666 获取一份专属大礼包 真爱 请设置 星标 或点个 在看 在使用RESTful风格不同于普通借口命名的一点是 它规范使用 来表示资源之间的层级关系 对于普通形式命名的接口 假设需
Powered by Hwhale