我试图在我的应用程序中使用一个很好的约定来进行请求映射
现在我有
RegistrationController {
@RequestMapping(value="/registerMerchant")
...
@RequestMapping(value="/registerUser")
...
}
但这不是理想的,因为通过查看您可能不知道的网址来查看RegistrationController
代码。
有没有办法可以在程序上预先添加那些映射的控制器名称:
/registration/registerMerchant
/registration/registerUser
答案 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() {
}
}