【发布时间】:2014-05-27 07:45:18
【问题描述】:
我正在尝试在 Spring 控制器中使用接口,但无法实例化正确的类。
我有以下方法:
@RequestMapping(value="/settings/features/{feature}", method=RequestMethod.POST, produces = "application/json; charset=utf-8")
@ResponseBody
public ResponseEntityWrapper setFeatureSettings(
HttpServletRequest request,
@PathVariable Feature feature,
@RequestBody IFeatureSettings featureSettings,
HttpServletResponse response
) {
...
}
我有几个实现 IFeatureSettings 的类,我需要为输入实例化正确的类。我可以通过查看特征(它是一个枚举)来知道哪个是正确的类。因此,对于功能 A,我将拥有 AFeatureSettingsImpl,对于功能 B,我将拥有 BFeatureSettingsImpl。
理想情况下,有一些方法可以在中间说:这一次,用数据填充类 AFeatureSettingsImpl 并将其作为接口实现返回。
我一直在研究 HandlerMethodArgumentResolver,这听起来是正确的方法,但我不知道该怎么做。我需要访问 feature 参数,希望在我得到解决代码之前解决这个问题(或者我需要自己解决它)。
【问题讨论】:
标签: java spring interface controller