Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring MVC RequestMapping在RestController上不工作_Java_Spring Mvc_Spring Restcontroller_Request Mapping - Fatal编程技术网

Java Spring MVC RequestMapping在RestController上不工作

Java Spring MVC RequestMapping在RestController上不工作,java,spring-mvc,spring-restcontroller,request-mapping,Java,Spring Mvc,Spring Restcontroller,Request Mapping,我希望有一个基本映射为“/user”的RestController类(因此不同的函数将有“/user/add”、“/user/remove”等路径或使用POST/GET等路径) 这是我不理解的部分,也无法开始工作: @RestController public class UserController { @GetMapping("/user") public Response login(Principal principal){ //some output } } 这

我希望有一个基本映射为“/user”的RestController类(因此不同的函数将有“/user/add”、“/user/remove”等路径或使用POST/GET等路径)

这是我不理解的部分,也无法开始工作:

@RestController
public class UserController {

  @GetMapping("/user")
  public Response login(Principal principal){
    //some output
  }
}
这种情况下的预期行为是,我可以在“/user”下访问我的输出。这正如预期的那样有效。 现在,如果我将其修改为以下内容(因为此控制器中的所有函数都应该有一个以“/user”开头的路径,这将更干净)

我收到404错误页面,无法再访问“/user” 我发现的所有示例都使用相同的语法(或者有时使用@RequestMapping(path=“/user”),但这不起作用),我不知道为什么它不起作用。 有人能告诉我我的错误在哪里吗?

如果您使用此代码:

@RestController
@RequestMapping("/user")
public class UserController {

@GetMapping("/")
public Response login(Principal principal){
//some output
 }
}
那么您的url末尾应该有“/”,如“”

我会从@GetMapping(“/”)中扔掉“/”符号,然后像这样离开:

@RestController
@RequestMapping("/user")
public class UserController {

@GetMapping
public Response login(Principal principal){
//some output
 }
}
@RestController
@RequestMapping("/user")
public class UserController {

@GetMapping("/add")
public SampleObj getJson() {
    return new SampleObj();
 }
}
如果您需要map get或post,您可以这样使用:

@RestController
@RequestMapping("/user")
public class UserController {

@GetMapping
public Response login(Principal principal){
//some output
 }
}
@RestController
@RequestMapping("/user")
public class UserController {

@GetMapping("/add")
public SampleObj getJson() {
    return new SampleObj();
 }
}
它应该会起作用