2013-05-03 91 views
1

我有一個遺留系統,其中查詢參數用於使用簡單的內部框架來確定請求的類/方法。例如。是否可以將參數映射到Spring Rest中的路徑?

/endpoint?product=foo&action=bar&amount=1.0 
/endpoint?product=foo&action=baz&amount=1.0 

我想將一個產品的所有動作映射到一個類,這樣管道就可以大大簡化,

@Controller 
@RequestMapping("/endpoint/foo/**") 
public class FooController { 

    @AutoWire 
    private FooProductService s; // one of many beans that have to be wired into lots of classes 

    @RequestMapping("/bar") 
    public void bar(@PathVariable String amount, Model model) {  
    // implementation omitted 
    } 
    @RequestMapping("/baz") 
    public void baz(@PathVariable String amount, Model model) {  
    // implementation omitted 
    } 

}

這是一個發佈的API,所以我們不能改變公共API - > URL中不能改變。

我想也許這可以使用配置,作爲方面,甚至自定義框架與自己的註釋。

回答

0

我相信你能爲產品做這樣的事情= foo的&行動=欄&量= 1.0

@RequestMapping(value = "product={productName}&action={someaction}&amount={value}", method=RequestMethod.GET) 
something(@PathVariable String productName, @PathVariable String someaction, @PathVariable String value) 
    if(someaction.equals("bar")) { 
     //do bar 
    } 
    if(someaction.equals("baz")) { 
     //do baz 
    } 
} 

HTH

相關問題