根上的Spring RequestMapping

时间:2018-06-26 06:59:17

标签: javascript ajax spring spring-restcontroller

我是Spring的新手,API有点问题。

我的弹簧控制器

@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 /”。 有办法吗?

1 个答案:

答案 0 :(得分:1)

您可以尝试以下方法:

@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参数,另一个用于处理/)。