2013-05-13 44 views
9

理想情況下,會有一個插件將Grails域模型自動公開爲OData,但我看不到一個。如何使用OData公開Grails域模型?

OData4j可以讓你將POJO或JPA公開爲OData,但是它使用JAX-RS和Jersey下的封面,我不確定如何在Grails應用程序中使用它。

+0

我想到了前一段時間,我認爲有針對的OData沒有原生支持,因爲已經有像HAL和Atom方案支持(請參閱[文檔](http://grails.org/doc/2.4.x/guide/webServices.html#hypermedia))。但如果任何人有更多的信息,我會期待聽到它。 – 2014-07-26 20:56:43

回答

2

我會用Apache Olingo。按照他們的Java example和修改對Groovy/Grails的像這樣的:

class DataController { 
    def action() { 
     // create odata handler and configure it with DemoEdmProvider and Processor 
     def odata = OData.newInstance() 
     def edm = odata.createServiceMetadata(new DemoEdmProvider(), []) 
     def handler = odata.createHandler(edm) 
     handler.register(new DemoEntityCollectionProcessor()) 

     // let the handler do the work 
     handler.process(request, response) 
     return false 
    } 
}