允许多个名称用于查询参数的最佳方法是什么?我有一个已更改参数名称的Web服务,但必须继续一段时间才能接受旧名称.
我不愿意创建2个RequestParams,两者都不是必需的,b / c我确实需要一个或另一个存在.像这样的东西会很甜蜜:
@RequestParam(value = "startTime|start",required = true ) String startTime,
而不是
@RequestParam(value = "startTime",required = false ) String startTime,@RequestParam(value = "start",required = false ) String start ){if ( start != null || startTime != null ){ // ...
有没有办法做到这一点?谢谢.最佳答案你可以做这样的事情(创建一个代理方法,拦截“旧”调用并将它们转移到新方法):
@RequestMapPing(value="/your-mapPing",params = {"oldparam1","oldparam2",...})public Whatever youroldMethod(@RequestParam(value="oldparam1",required=true) String oldParam1,...){ return yourNewMethod(oldParam1,...);}@RequestMapPing(value="/your-mapPing",params = {"newparam1","newparam1",...})public Whatever yourNewMethod(@RequestParam(value="newparam1",...){ //do whatever you need to do here}
如果您不需要支持旧呼叫,只需删除youroldMethod即可.
这里的美丽是使用@RequestMapPing的“params”,因此允许2种方法听同一个“URL”(每个都有不同的参数)
总结以上是内存溢出为你收集整理的java – Spring MVC @RequestParam – 多个关键名称?或另一种要求“一个或另一个”的方式全部内容,希望文章能够帮你解决java – Spring MVC @RequestParam – 多个关键名称?或另一种要求“一个或另一个”的方式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)