带{}括号的Spring MVC @Path变量

我正在使用SpringBoot" title="SpringBoot">SpringBoot开发应用程序。在REST控制器中,我更喜欢使用路径变量(@PathVariabale注释)。我的代码获取了path变量,但是它在网址中包含 括号。请任何人建议我解决这个问题

@RequestMapping(value = "/user/item/{loginName}", method = RequestMethod.GET)

public void getSourceDetails(@PathVariable String loginName) {

try {

System.out.println(loginName);

// it print like this {john}

} catch (Exception e) {

LOG.error(e);

}

}

网址

http://localhost:8080/user/item/{john}

输出控制器

{约翰}

回答:

使用http://localhost:8080/user/item/john提交请求来代替。

您为路径变量赋予Spring值“ {john}” loginName,因此Spring使用“ {}”来获取它

Web MVC框架 指出

回答:

URI模板可用于通过@RequestMapping方法方便地访问URL的选定部分。

URI模板是 ,包含一个或多个变量名。

。提议的URI模板RFC定义了URI的参数化方式。例如,URI模板

http://www.example.com/users/ {userId}

在Spring MVC中,您可以在方法参数上使用@PathVariable批注将其绑定到URI模板变量的值:

@RequestMapping(value="/owners/{ownerId}", method=RequestMethod.GET)

public String findOwner(@PathVariable String ownerId, Model model) {

Owner owner = ownerService.findOwner(ownerId);

model.addAttribute("owner", owner);

return "displayOwner";

}

URI模板“ / owners /

{ownerId}”指定变量名称ownerId。当控制器处理此请求时,ownerId的值将设置为在URI的相应部分中找到的值。例如,当请求/

owners / fred时,ownerId的值为fred。

以上是 带{}括号的Spring MVC @Path变量 的全部内容, 来源链接: utcz.com/qa/405004.html

回到顶部