我正在使用Spring 3.2.4的自定义参数解析器,一切正常,直到现在。 我不时地注意到我的一台服务器没有正确解析参数,我想知道,在配置中我有什么问题。
提到的一些事情 - 我在一个方法中使用了几个自定义参数 例如
@RequestMapping(value = "/edit", method = RequestMethod.GET)
public String editMode(@LoggedInUser User user, @UserCompany Company company) throws IOException
并且未解决的参数始终不是第一个参数..
我在订购方面遗漏了什么?解析器的优先级?
- 编辑
我的论证解析器是
public class MyHRCompanyResolver implements WebArgumentResolver {
@Inject
private CompanyService companyService;
public Object resolveArgument(MethodParameter methodParameter, NativeWebRequest nativeWebRequest) throws Exception {
MyHRCompany myHRCompany = methodParameter.getParameterAnnotation(MyHRCompany.class);
if (myHRCompany == null){
return UNRESOLVED;
}
try {
Company company = companyService.userCompany(getUser());
if (company == null)
return UNRESOLVED;
return company;
} catch (Exception e) {
// log some error
return UNRESOLVED;
}
}
}