@PathVariable不能使用@RestController

时间:2017-03-02 02:55:29

标签: spring spring-boot

我正在尝试Spring Boot,我面临着一个微不足道的问题。我无法在@RestController中使用@PathVariable。这是我的控制器 -

package com.harshil.controller;

import org.springframework.web.bind.annotation.*;

@RestController
public class UserController {

    @RequestMapping(name = "/user/{id}/", method = RequestMethod.GET)
    public User getUser(@PathVariable("id") int id) {
        return generateUser(id);
    }
}

这就是我调用端点的方式 - http://localhost:8080/user/1/

在我之前的Spring(不是Boot)项目中,我在@Controller中使用了@PathVariable,它运行良好。我只是想不通我可能做错了什么。想法?

2 个答案:

答案 0 :(得分:1)

元素namevalue具有不同的含义 见doc:
RequestMapping

在RequestMapping注释中将name替换为value @RequestMapping(value = "/user/{id}/", method = RequestMethod.GET)

OR

@GetMapping("/user/{id}/")
@GetMapping(value = "/user/{id}/")

它们只是短一点。

答案 1 :(得分:0)

请尝试以下代码 -

<select class="form-control-sm" name="client_id[]">
<input type="text" class="form-control-sm" name="amount[]">

如果您有服务层写回程serviceLayerName.generateUser(id);