我在 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;
}
}
}