我想要一个带有基础映射“ / 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错误页面,并且无法再访问“ /用户” 我发现的所有示例都使用相同的语法(或有时使用@RequestMapping(path =“ / user”),但效果也不佳),我也不知道为什么它不起作用。 有人可以告诉我我的错误在哪里吗?
答案 0 :(得分:1)
如果使用此代码:
@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();
}
}
应该可以。