繁体   English   中英

Spring MVC RequestMapping在RestController上不起作用

[英]Spring MVC RequestMapping not working on RestController

我想要一个带有基本映射“ / user”的RestController类(因此不同的函数将具有“ / user / add”,“ / user / remove”等路径或使用POST / GET等)

这是我不了解且无法正常工作的部分:

@RestController
public class UserController {

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

这种情况下的预期行为是我可以在“ / user”下访问我的输出。 这按预期工作。 现在,如果我将其修改为以下内容(由于该控制器中的所有功能都应具有以“ / user”开头的路径,这样会更干净)

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

  @GetMapping("/")
  public Response login(Principal principal){
    //some output
  }
}

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

如果使用此代码:

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

@GetMapping("/")
public Response login(Principal principal){
//some output
 }
}

然后您的网址末尾应带有“ /”,例如“ http:// localhost:8080 / user /

我只是将@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();
 }
}

它应该工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM