spring mvc请求映射约定

时间:2011-01-12 16:34:40

标签: spring-mvc

我试图在我的应用程序中使用一个很好的约定来进行请求映射

现在我有

RegistrationController {
   @RequestMapping(value="/registerMerchant")
   ...
   @RequestMapping(value="/registerUser")
   ...
}

但这不是理想的,因为通过查看您可能不知道的网址来查看RegistrationController代码。

有没有办法可以在程序上预先添加那些映射的控制器名称

/registration/registerMerchant
/registration/registerUser

2 个答案:

答案 0 :(得分:8)

不是以编程方式,但我见过这种模式:

@Controller
@RequestMapping(value="/registration/**")
RegistrationController {
   @RequestMapping(value="**/registerMerchant")
   ...
   @RequestMapping(value="**/registerUser")
   ...
}

话虽如此,过去我发现这很难以我期望的方式工作。但可以使用。

答案 1 :(得分:5)

我认为** /在方法级别是太多的噪音。另一方面,URI可以使用更多的名词和更少的动词来制作更多的REST。

@Controller
@RequestMapping("/services")
public class RegistrationController {

    @RequestMapping(value = "/merchant/register")
    public void processMerchantRegistration() {

    }

    @RequestMapping(value = "/user/register")
    public void processUserRegistration() {

    }

}