2013-05-13 67 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 
    } 
}