如何忽略级别@RequestMapping() 和直接调用方法级别@RequestMapping()?

How to ignore level @RequestMapping() and direct call method level @RequestMapping()?

如何忽略class级别@RequestMapping("/home"),直接调用Spring中@RequestMapping("/users")级别的方法?

@Controller
@RequestMapping("/home")

@RequestMapping("/method1")
public void method1(){
...
}

@RequestMapping("/users")
public void listUsers(){
...
}

我想调用 http://localhost:8080/users 来调用 listUsers() 方法。

您无法绕过在 class 级别定义的请求映射。因为如果是这样,为什么你想要一个 class 级别映射那么......你可以在方法级别请求映射

中做这样的事情
@Controller
@RequestMapping("/home/method1")
public void method1(){
...
}

@RequestMapping("/users")
public void listUsers(){
...
}

那样的话你可以试试这个...

 @Controller
@RequestMapping({ "/home", "/users" })


    @RequestMapping("/method1")
    public void method1(){
    ...
    }

   @RequestMapping(method="RequestMethod.GET")
    public void listUsers(){
    ...
    }

@RequestMapping("/users") 更改为 @RequestMapping(method=RequestMethod.GET)

据我了解,您期​​望的是 class 级别的 RequestMapping。 method-level RequestMapping应该在class-level的路径下。

我给你举几个例子:

@RestController
@RequestMapping("/home")
public class HomeController {
    // Full path of following endpoint: /home/parents.
    @RequestMapping(value = "/parents", method = RequestMethod.GET)
    public ResponseEntity<List<People>> getParents() {
        return ResponseEntity.ok(methodToGetParents());
}

对于 "users" 的路径,你应该在另一个 class (控制器)中进行:

@RestController
@RequestMapping("/users")
public class UsersController {
    // Full path of following endpoint: /users.
    @RequestMapping(method = RequestMethod.GET)
    public ResponseEntity<List<People>> getUsers() {
        return ResponseEntity.ok(methodToGetUsers());
}