Springboot @PathVariable值包括括号

时间:2017-06-19 09:43:39

标签: spring-boot annotations

我正在创建简单的SpringBoot应用程序。我宣布PUT操作如下

@RequestMapping(method=RequestMethod.PUT, value= "/topics/{id}")
public void updateTopic(@PathVariable String id, Topic t){
    System.out.println("Kaushik==="+id);
    topicService.updateTopic(Integer.parseInt(id),t);
}

当我在URL http://localhost:8080/topics/{2}上调用PUT操作时。它失败。 变量id的值是" {2}"而不仅仅是" 2"这导致数字格式异常。

我也尝试过指定参数名称。 public void updateTopic(@PathVariable(name="id") String id, Topic t){但是也没有用。

1 个答案:

答案 0 :(得分:2)

你对PUT端点的判断完全没问题:

@RequestMapping(method=RequestMethod.PUT, value= "/topics/{id}")

要调用网址,只需使用所需的值代替{id}

http://localhost:8080/topics/2

网址模板变量{var}只是一个表达式,用于标记要转换为方法参数的网址的一部分。