在现实生活中,我们处处使用URL,但是,对于其中的数据(参数),我们该如何获取呢??这就值得我们深思了!
在本文,笔者主要向大家讲解用Java语言的Spring Boot项目中,如何获取URL中的参数!
跟之前同样道理,不要管URL如何来的,作为后端开发者,我们只需要处理好后端的逻辑代码即可!!
那么,我们来看一下后端代码来如何获取URL中的参数吧!!
@RestController
@RequestMapping("/param")
public class ParamController {//获取URL中的参数@RequestMapping("/m1")public String m1(String userId){return "userId为: "+userId;}
}
问题:
假设我们的URL为:http://localhost:8080/param/m1/userId=123
Postman的运行结果为:
同样,在浏览器的输出结果为:
解决方案:
对于这个问题,我们需要在注解上进行些许操作:
@RestController
@RequestMapping("/param")
public class ParamController {//获取URL中的参数@RequestMapping("/m1/{userId}")public String m1(@PathVariable String userId){return "userId为: "+userId;}
}
那么,重新启动程序,Postman的运行结果为:
这便是成功的获取到了URL中的参数数据了!!
当然,假如URL中有多个参数数据,那么,我们也可以使用同样的方式来进行处理:
//获取URL中的多个参数@RequestMapping("/m2/{userId}/{name}")public String m2(@PathVariable String userId,@PathVariable String name){return "userId为: "+userId+" name为: "+name;}
当我们在Postman中输入:http://localhost:8080/param/m2/userId=123/name=lisi
同样道理,在浏览器中也有着相同的输出:
但是,在获取URL中的数据的时候,我们需要注意他们的顺序需要确保一致!!(请求格式必须和后端定义的URL格式匹配)
当然,要搞的事情还不止这些,我们还可以进行重命名操作(前端传递来的参数name,我后端表示不服,要用参数username来进行替换)
因此,我们可以有着下述代码:
//将前端传递来的name更改为username,并获取URL中的多个参数@RequestMapping("/m3/{userId}/{name}")public String m3(@PathVariable String userId,@PathVariable("name") String username){return "userId为: "+userId+" username为: "+username;}
在Postman中,该段代码仍然可以正确运行: