2 つのメソッドを持つコントローラーがあります。1 つはユーザーを削除するためのもので、もう 1 つはロールからユーザーを削除するためのものです。
@Controller
@RequestMapping(value="/rest/users/**")
public class UsersCtrlr {
@RequestMapping(value="/{username:.+}", method=RequestMethod.DELETE)
public @ResponseBody HttpStatusDoc deleteUser(HttpServletRequest req, @PathVariable String username) {
...
}
@RequestMapping(value="/{username:.+}/roles/{role:.+}", method=RequestMethod.DELETE)
public @ResponseBody HttpStatusDoc deleteUserRole(HttpServletRequest req, @PathVariable String username, @PathVariable String role) {
...
}
}
私のフロントエンドは、次のような URL で jquery ajax 呼び出しを行います。
/rest/users/jdoe@foo.com/roles/some_role
username
この uri は、等しい値を持つ deleteUser メソッドにマップされています。some_role
私はuriをdeleteUserRoleにマップし、にusername
設定しjdoe@foo.com
、にrole
設定しようとしていsome_role
ます。
uri が deleteUserRole にマップされないのはなぜですか? RequestMappings の正規表現と何か関係がありますか?