0
我必须写一个尊重合同的WS,我非常不喜欢,但那是工作。春季绑定:如何使用像地图一样的工作?
对于给定的请求,我有一些简单的命名参数,如user(Integer)。
就目前而言,这很容易,我写了一个命令对象与此两场,我的要求是:
@RequestMapping("/")
public void request(Cmd cmd) {
[impl]
}
现在坏的部分:我能有什么情侣ID =布拉布拉,布拉布拉,布拉布拉的
例如,要求可能是/?USER = 4 & 10 = OK & 3432 =简单,有效
你有什么解决方案,可为在对象命令地图美观大方,具有一个或两个Spring绑定注释? 当然,这将是很好,如果用户(以及其他类似的),其中不包括在地图^^
因为我写了这样的事情在端点代码,但我觉得它丑:
final Enumeration<String> paramNames = request.getParameterNames();
while (paramNames.hasMoreElements()) {
String paramName = paramNames.nextElement();
String[] paramValues = request.getParameterValues(paramName);
cmd.getMap().put(Integer.valueOf(paramName), paramValues[0]);
}
编辑
我想类似的东西(如果可能)
public class SubmitTaskCmd {
private Integer userID;
private String hash;
private Integer taskID;
private Map<Integer, String> others = new HashMap<Integer, String>();
public Map<Integer, String> getOthers() {
return others;
}
public void setOthers(final Map<Integer, String> others) {
this.test = test;
}
public Integer getUserID() {
return userID;
}
public void setUserID(final Integer userID) {
this.userID = userID;
}
public String getHash() {
return hash;
}
public void setHash(final String hash) {
this.hash = hash;
}
public void setTaskID(final Integer taskID) {
this.taskID = taskID;
}
public Integer getTaskID() {
return taskID;
}
}
当然,但我想我的cmd对象与用户字段(和其他我没有提到):s – farvilain
@farvilain你能告诉我们你的命令对象实际上是什么样子吗?我不认为我明白你想要什么。 –
编辑帖子以包含cmd对象 – farvilain