• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于java:SpringBoot参数请求方式

java 搞代码 4年前 (2022-01-27) 33次浏览 已收录 0个评论

咱们心愿咱们的参数可能依照咱们构想的、失常的发送到后端接口,然而post、get和各种接参的api容易让人迷糊,上面我说下本人的了解。

1、前端传参形式

传参能够将参数放到header外面,也能够拼到地址中,或者放在body中,不过个别header中只放一些校验的参数。

1.1 get申请

get申请个别只容许在url尾部拼接参数,如http://localhost:9003/mid/app/queryTagByMenu?name=1

get申请也能够将参数放到门路中,如http://localhost:9003/mid/app/queryTagByMenu/1

1.2 post申请

get申请能够将参数放到门路中,如http://localhost:9003/mid/app/queryTagByMenu/1

post申请即能够把参数放到申请体中,也能够把参数拼接到url尾部

2、后端接参形式

2.1 @PathVariable

前端传参如:http://localhost:9003/test/1/chen,须要应用此注解接管参数。

<code class="java">@RequestMapping("test/{id}/{name}")
public void test(@PathVariable("id") Long id ,@PathVariable("name") String name){
  System.out.println(id, name);
}
2.2 @RequestParam

前端j将参数拼接到url尾部的,如:http://localhost:9003/mid/app/queryTagByMenu?name=1,须要应用此注解接管参数。

如果应用此注解,则url中必须有这个参数,否则会报400谬误。

<code class="java">@PostMapping("/queryTagByMenu")
public AjaxResult queryTagByMenu(@RequestParam String menuId) {
  if (StringUtil.isEmpty(menuId)) {
    return AjaxResult.error("短少menuId参数");
  }
  return AjaxResult.success();
}
2.3 @RequestBody

前端应用post形式,将参数写在body中的,能够依照属性名,应用map或者实体类接管。

<code class="java">@PostMapping("/queryMenuByRole")
public AjaxResult queryMenuByRole(@RequestBody AppMenuRoleVo appMenuRoleVo) {
  return AjaxResult.success(appSysService.queryMenuListByRole(appMenuRoleVo));
}
2.4 无注解接管参数

有人说无注解也能够失常接管参数,我试了一下,发现post是无奈接管参数的。

上面试试应用get传参数,发现get是能够主动组装成实体类的。

get申请也实用于单参数无注解的状况。

2.5 @RequestHeader @CookieValue

这两个用法都差不多,我用的比拟少,基本上如果我须要从header中获取参数的话,个别我是从request中获取。

<code class="java">@GetMapping("/test")
public void demo3(@RequestHeader(name = "headerName") String headerName,
  @CookieValue(name = "cookieName") String cookieName) {
    System.out.println(myHeader + "--" + cookieName);
}

看到这里,大家大略对前后端参数传递有了一些理解,欢送留言探讨。

集体博客:https://www.51bishe.site


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于java:SpringBoot参数请求方式

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址