路径表达式的含义

Meaning of Path expression

你能告诉我下面的路径表达式是如何解析的吗?。我把它放在 REST api.

之上

@Path("{a:forgotpwd|forgot/pwd/apitoken}")

路径是javax.ws.rs.Path

https://docs.oracle.com/cd/E19798-01/821-1841/6nmq2cp26/index.html

a 是路径参数的名称,forgotpwd|forgot/pwd/apitoken 是其值必须匹配的正则表达式。

所以:

@Path("{a:forgotpwd|forgot/pwd/apitoken}")
@GET
Response foo(@PathParam("a") a) {
  if (a.equals("forgotpwd") {
     ...
  } else {
     ...
  }
}

将匹配 URL forgotpwdforgot/pwd/apitoken(当然是配置了任何前导组件)。其他路径将 return 404.