当前位置: 首页 > 知识库问答 >
问题:

比较:@RequestMapping与@PathVariable的用法

唐经国
2023-03-14

我想知道上面哪一个更好/正确/使用最多,或者是什么。第一种是在@RequestMapping中使用值,另一种是使用路径。

    @RequestMapping(value = { "/isbn/{isbnCode}" }, method = RequestMethod.GET)
    public ResponseEntity<?> findByIsbnCode(@PathVariable String isbnCode) {
        Book obj = service.findByIsbnCode(isbnCode);

        return ResponseEntity.ok().body(obj);
    }
// Request: http://localhost:8080/books/title?title=book_title

    @RequestMapping(method = RequestMethod.GET, path = { "/title" })
    public ResponseEntity<?> findByTitle(@RequestParam(value = "title") String title) {
        Book obj = service.findByTitle(title);

        return ResponseEntity.ok().body(obj);
    }
// Request: http://localhost:8080/books/isbn/978-84-663-4612-2

两者都有效。只是想找出两者的区别。

提前谢谢!

共有2个答案

齐雅畅
2023-03-14

JPA是Java持久性API,它与@RequestMapping无关;

您正在询问@RequestMapping的路径之间的差异:

只是想找出两者的区别。

pathvalue元素是彼此的别名,从Spring文档中我只能看到一些细微的区别:

使用路径时:

  • 还支持Ant样式的路径模式(例如,“/profile/**”
洪星文
2023-03-14

"URI参数(Path Param/由@PathVariable表示的变量)基本上用于标识一个或多个特定资源,而Query Parameter(或由@recestParam表示的请求参数)用于对这些资源进行排序/筛选。"第一个例子使用了path变量,这里您从url本身提取值,而在第二个例子中,您获取的是请求/查询参数。引用:https://dzone.com/articles/understanding-the-uri-param-and-query-param-with-rhttps://blog.restcase.com/7-rules-for-rest-api-uri-design/#:~: text=URI应该遵循可预测的,API是为消费者编写的。

 类似资料:
  • 最根本的区别只是路径中应该由正则表达式(“.+”)处理的组件的数量,但当该部分有斜杠时似乎不起作用。 如果有帮助,请在日志中提供以下内容: 2015-03-03 23:03:53.588信息15324---[main]s.w.s.m.m.a.RequestMappingHandlerMapping:将“{[/webjars-locator/{webjar}/{partialPath:.+}],Me

  • 我有两个基于同一ecore模型的EMF实例版本。我需要以以下格式准备一个从v1到v2更改的事物列表

  • 问题内容: 我目前正在评估基于Java的安全框架,我是Spring 3.0用户,因此似乎似乎SpringSecurity是正确的选择,但是Spring安全性似乎受到过分复杂的困扰,它似乎并没有使安全性易于实现, Shiro似乎更加连贯,更容易理解。我正在寻找这两个框架之间的利弊清单。 问题答案: 我也同意Spring Security对我来说感觉太复杂了。当然,他们已经做了一些降低复杂性的事情,例

  • 根据Android文档,finish()的功能与“后退”按钮的功能完全相同。基本上,当我调用finish()时,会调用onStop()。 我试图重写onStateSaveInstance()以保存当前状态,但从未调用它。但是,如果通过创建新的Intent并使用startActivity()转到上一个活动,则会调用onStateSaveInstance()方法。这有什么原因吗?

  • 本文向大家介绍802.16与802.11的比较,包括了802.16与802.11的比较的使用技巧和注意事项,需要的朋友参考一下 IEEE 802.16是定义微波访问无线互操作性(WiMAX)的标准,该技术是将网络服务提供到宽带访问的最后一英里的无线技术。 IEEE 802.11标准制定了在有限区域内连接无线设备的无线局域网(WLAN)或Wi-Fi的规范。 下表比较了802.16和802.11- 特

  • 在处理特殊字符时,和有什么区别? 被接受为空格。 在的情况下,被接受为。