2014-01-17 3 views
0

Например, если бы я имел Spring MVC контроллер, как это:Spring MVC - как получить параметр RequestMapping уровня контроллера внутри контроллера

@Controller 
@RequestMapping("/{nickname}") 
public class LoginController { 
    //...controller code 
} 

Я хочу описатель прозвища внутри моего кода контроллера. Как я могу это сделать?

ответ

4

Вы можете использовать переменную пути {nickname} на уровне контроллера, а затем использовать аннотацию @PathVariable на уровне параметра метода.

@Controller 
@RequestMapping("/{nickname}") 
public class LoginController { 
    //...controller code 

    @RequestMapping 
    public String login(@PathVariable String nickname) { 
     // Do something with nickname 
    } 
} 

Это может быть более разумным, чтобы иметь часть пути, прикрепленный к идентификации контроллера конкретно - в противном случае любого запроса, который не получает более точное соответствие может в конечном итоге направляется в LoginController, которые вы не можете , Например:

@Controller 
@RequestMapping("/login/{nickname}") 
public class LoginController { 
+0

Это должен быть принятый ответ. – ykesh

Смежные вопросы