Spring 根上的 RequestMapping

Spring RequestMapping on Root

我是 Spring 的新手,对 API 有一些小问题。

我的Spring-控制器

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

  @RequestMapping(value = "/", produces = 
  MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
  public ResponseEntity<Page<User>> getAll(
    @RequestParam("param") boolean param, HttpServletResponse response) {
    /* DO STUFF */
  }
}

我的 JavaScript 目前如何工作(w

http.get("/api/user/?param=test");

我想如何使用它

http.get("/api/user?param=test");

但是如果没有参数我还是希望能够调用

http.get("/api/user/");

如您所见,我想搭乘 "extra / "。 有办法吗?

你可以试试这个:

@RequestMapping(value = { "", "/" }, produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET) 
public ResponseEntity<Page<User>> getAll(@RequestParam(value = "param", required = false) boolean param, HttpServletResponse response) {
    /* DO STUFF */ 
}

使用 required=false,您可以使用 /api/user/(不带参数)来调用此方法。

您还可以创建两个不同的处理程序(一个支持 param 参数,另一个处理 /)。