我有一个命令对象:
public class Job {
private String jobType;
private String location;
}
它受 spring-mvc 的约束:
@RequestMapping("/foo")
public String doSomethingWithJob(Job job) {
...
}
这对于 http://example.com/foo?jobType=permanent&location=Stockholm
来说很好用,但是现在我需要让它适用于下面的网址:
http://example.com/foo?jt=permanent&loc=Stockholm
显然,我不想改变我的命令对象,因为字段名必须保持长(正如它们在代码中使用的那样)。我该怎么定制呢?有没有这样的选择:
public class Job {
@RequestParam("jt")
private String jobType;
@RequestParam("loc")
private String location;
}
这不起作用(@RequestParam
不能应用于字段)。
我考虑的是类似于 FormHttpMessageConverter
的自定义消息转换器,并读取目标对象上的自定义注释