对于用户注册表单(registration.html
),我通过以下方式创建了一个视图控制器:
@Configuration
@EnableWebMvc
public class MvcConfig extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(final ViewControllerRegistry registry) {
super.addViewControllers(registry);
registry.addViewController("/user/registration").setViewName("registration");
}
这很好用,如果我去/ user / registration(即GET),我可以看到注册表。
但是,如果我现在想要在同一个uri中为POST请求创建一个控制器:
@Controller
public class RegistrationController {
@RequestMapping(value = "/user/registration", method = RequestMethod.POST)
@ResponseBody
public GenericResponse registerUserAccount(@Valid final UserDto accountDto, final HttpServletRequest request) {
// some code
}
}
我在/ user / registration uri上收到一条错误消息:
请求方法'GET'不受支持
所以我的帖子控制器似乎以某种方式覆盖了之前正在运行的GET控制器。这是为什么?是否有可能使两者协同工作或者我必须以与后置控制器相同的方式编写自己的GET控制器?