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

在Spring Boot REST中检索查询参数的正确方法?

楮庆
2023-03-14

在上面的请求中,我希望访问参数ride_transection_id,以查找特定的transection对象和其他一些值。所以基本上我有三种方法来做到这一点。

1.我可以使用@pathvariable

@RequestMapping(value = "/end-ride", method = RequestMethod.POST)
public ResponseEntity<?> endRide(@PathVariable("ride_transection_id") long ride_transection_id,@RequestBody 
SomeDTORequest someDTORequest ) {
//find transaction using path varibale 

}

2.我可以使用@requestparam

    @RequestMapping(value = "/end-ride", method = RequestMethod.POST
    public @ResponseBody item getitem(@RequestParam("ride_transection_id") 
    long ride_transection_id,@RequestBody SomeDTORequest someDTORequest ){

    //find transaction using RequestParam varibale 

    }
@RequestMapping(value = "/end-ride", method = RequestMethod.POST)
public ResponseEntity<?> endRide(@RequestBody SomeDTORequest someDTORequest ) {
//find transaction using path someDTORequest .getID()

谢谢

共有1个答案

江英华
2023-03-14

你可以使用它们中的任何一种,但每一种方式都是为特定的用途而设计的。

Path变量:当您需要使用某个字段访问实体时使用,例如,我想访问一个订单,这个订单是由id定义的,所以要访问这个订单,我需要以下请求get/order/{id}

Request参数:当您想要为某个方法发送特定变量或标志时,例如get/orders?is_shipped=true,所以这将获取所有已发送的订单,或者您可能需要在某个页面下订单get/orders?page=1

请求主体:当您需要通过put或patch请求更新实体时,您将使用实体的json表示来更新实体,该表示可以通过请求主体发送,例如put/orders/{id}body:{“title”:“order_1”},那么id为{id}的订单将使用新的标题更新

Spring数据Rest

另见

 类似资料:
  • 本文向大家介绍Android 检索查询参数,包括了Android 检索查询参数的使用技巧和注意事项,需要的朋友参考一下 示例 如果用户点击一个linkto http://www.example.com/map?param1=FOO&param2=BAR,那么param1这里将有一个价值"FOO"和param2将有一个价值"BAR"。

  • 问题内容: 这是我的简单表格: 这是我的Express.js /Node.js代码: 我试过或或,等等。它们都不起作用。他们都回来了。 当我更改为Get呼叫时,它可以工作,所以..有什么想法吗? 问题答案: 事情已经改变了再次启动 快速4.16.0 ,您现在可以使用与就像在 快车3.0 。 从 Express 4.0到4.15,* 这是不同的: * 然后: 其余的就像在 Express 3.0中一

  • 问题内容: 我想编写一个接受参数的函数,该参数可以是序列或单个值。值的类型为str,int等,但我 不 希望将其限制为硬编码列表。换句话说,我想知道参数X是一个序列还是必须转换为序列的对象,以避免以后出现特殊情况。我可以做 但是可能还有我不知道的其他序列类型,也没有通用的基类。 -N。 编辑 :请参阅下面的“答案”,了解其中大多数答案对我没有帮助的原因。也许您有更好的建议。 问题答案: 上述所有方

  • 问题内容: 假设我要编写以下HQL查询: 将其编写为参数化查询的正确方法是什么,例如 问题答案: 我不确定如何使用位置参数来执行此操作,但是如果可以使用命名参数而不是位置参数,则可以将命名参数放在方括号内,并且可以使用Query接口中的setParameterList方法将值列表绑定到此参数。

  • 问题内容: 这是我的简单表格: 这是我的Express.js/Node.js代码: 我尝试过或或,等等。它们都不起作用。他们都回来了。 当我更改为Get呼叫时,它可以工作,所以..有什么想法吗? 问题答案: 事情已经改变了再次启动快速4.16.0,您现在可以使用与就像在快车3.0。 从Express 4.0到4.15,这是不同的: 然后: 其余的就像在Express 3.0中一样 : 首先,您需要

  • null 什么做法更好,更“真实”?我喜欢第一个,但再次,不确定我该如何选择Epsilon。