我有一个使用spring mvc的安静服务器。许多控制器(尽管不是全部)采用某个路径参数/ fruits / {type}。
我需要集中配置哪些类型的水果是可以接受的。即,苹果,香蕉,樱桃都可以。对于其他一切我需要抛出400级http状态代码。
重要的是要快速而优雅地完成。可以采取的一些方法是:
实现这一目标的最专业,快捷,优雅的方法是什么?
答案 0 :(得分:1)
您可能无法获得最佳方式'回答。每种最好的方式'取决于您的具体情况,需求和愿望。这是' a'方式...
我们在请求绑定期间通过PropertyEditors执行此操作。
如果您没有收到正确类型的“'你期待然后从PropertyEditor抛出异常。
您可以通过映射到RequestMappingHandlerAdapter的自定义PropertyEditorRegistrar为每个Controller注册PropertyEditors或全局注册。
然后我会使用Spring SimpleMappingExceptionResolver将您的不同异常映射到您想要返回的视图和错误代码。
顺便说一句,我会考虑使用404 vs 400,但那只是我。