当前位置: 首页 > 面试题库 >

什么时候去@RequestParam和@PathVariable

唐兴思
2023-03-14
问题内容

只是好奇,想知道在这种情况下,我们应该去@RequestParam@PathVariable。我知道:

  1. @RequestParam采用参数值而@PathVariable采用占位符值
  2. @RequestParam在发出请求时可以是可选的(required = false),而@PathVariable必须提供值。
  3. 当我们要使用时,@RequestParam我们必须知道属性语法,但@PathVariable并非必须如此

还有其他理由要选择特定的理由吗?


问题答案:

使用@PathVariable,如果你想坚持“有状态”的网址。

例如:-

/customer/:id   Customer view/edit page
/customer/      Customer Add page
/customer/list  List Customer Page
/customer/:cid/order  All order of a Customer
/customer/:cid/order/:oid  Specific order of a partucular Customer.

明智地使用路径变量将产生URL,该URL为您提供有关所得到的视图/页面含义的提示/线索。

这也使您无需费力即可支持刷新,后退和前进操作。

@RequestParams可用于提取未作为路径参数传递的数据。您的MVC处理程序可以根据需要将两者组合。



 类似资料:
  • 问题内容: 我想要的不是Redis和MongoDB之间的比较。我知道他们是不同的。性能和API完全不同。 Redis的速度非常快,但是API的“原子性”非常好。MongoDB将占用更多资源,但是该API非常易于使用,对此我感到非常满意。 它们都很棒,我想在部署中尽可能多地使用Redis,但是很难编写代码。我想在开发中尽可能多地使用MongoDB,但是它需要一台昂贵的机器。 那么您如何看待两者的使用

  • 我有一些应用程序在Spring boot中使用微服务架构。我已经在RestTemplate中使用@PathVariable发送了查询参数、对象、模型等。开发应用程序后,我做了一些研究,要求使用@RequestParam和@RequestBody。但我无法理解,也不知道如何使用@RequestBody和@RequestParam。使用@RequestBody而不是@PathVariable有什么好处

  • 本文向大家介绍什么时候用delegate,什么时候用Notification?相关面试题,主要包含被问及什么时候用delegate,什么时候用Notification?时的应答技巧和注意事项,需要的朋友参考一下 答:delegate针对one-to-one关系,并且reciever可以返回值 给sender,notification 可以针对one-to-one/many/none,recieve

  • 问题内容: 奇怪的是: 似乎或多或少被定义为。通过这种方式很容易产生错误: 一些fname意外地以else块结尾。修复很简单,我们应该改用它,但是从表面上看,这似乎是一种不错的pythonic方式,并且比“正确”的方式更具可读性。 由于字符串是不可变的,所以为什么字符串错误是什么技术细节?什么时候进行身份检查更好,什么时候进行平等检查更好? 问题答案: 据我所知,检查对象身份是否相等。由于没有强制

  • 问题内容: 何时使用和何时使用运算符? Java提供了两个选项来检查分配兼容性。什么时候使用? 问题答案: 我认为官方文档为您提供了答案(尽管以一种非常具体的方式): 此方法与Java语言instanceof运算符动态等效。 我认为这主要是指在运行时处理类型反射的代码中使用。特别是,我想说它的存在是为了处理您可能不事先知道要检查其成员资格的类的类型的情况(尽管这些情况可能很少)。 例如,您可以使用

  • 问题内容: 我遍历了Spring文档以了解,他们给出了以下解释: 所述方法参数注释指示方法参数应绑定到HTTP请求正文的值。例如: 你可以通过使用将请求主体转换为方法参数。负责从HTTP请求消息转换为对象,并从对象转换为HTTP响应主体。 支持使用和进行基于注释的处理。在Spring 3.0中,扩展为支持,并且默认情况下注册了以下: … 但我的困惑是他们在文档中写的句子是 方法参数注释指示方法参数

  • 在GO-net/http响应中,主体注释表示: 打电话的人有责任把尸体关上。默认HTTP客户机的传输不会尝试重用HTTP/1.0或HTTP/1.1 TCP连接(“保持活动”),除非主体读取完成并关闭。 意思是:如果我用http。得到,不要打电话给resp。身体。关闭(),那么它将不会恢复HTTP/1.0或HTTP/1.1 TCP连接(保持活力),是吗? 所以我写了一些代码:

  • 问题内容: 我有一个将客户发送到另一个站点来处理付款的应用程序。客户之外的另一个站点在我们的服务器上调用一个页面,让我们知道付款的状态。被调用页面会检查付款应用程序提供的参数,并检查我们是否知道该交易。然后,它更新数据库以反映状态。这一切都无需与客户进行任何互动即可完成。 我个人选择将此功能实现为JSP,因为将文件拖放到文件系统中比编译和打包文件然后将条目添加到配置文件中要容易得多。 考虑到页面的