1

大家
好,我使用 Odata4j 创建 Odata 服务并部署在 tomcat 中。当我使用芝麻数据浏览器时,我可以看到一个
带有标题的表(如果我点击 THREAD )。我的问题应该是在网络浏览器中查看相同数据的 url 是什么?我想在服务中使用它,所以想知道 url。

如果我在http://localhost:8888/OdataEx/example.svc浏览器中输入这个,我可以看到一些 XML

<?xml version="1.0" encoding="utf-8" ?> 
 <service xmlns="http://www.w3.org/2007/app" xml:base="http://localhost:8888/OdataEx/example.svc/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app">
 <workspace>
  <atom:title>Default</atom:title> 
 <collection href="Threads">
  <atom:title>Threads</atom:title> 
  </collection>
  </workspace>
  </service>


Java 代码生成服务是

public class ExampleProducerFactory implements ODataProducerFactory {
  public ODataProducer create(Properties properties) {
    InMemoryProducer producer = new InMemoryProducer("example");
    // expose this jvm's thread information (Thread instances) as an entity-set called "Threads"
    producer.register(Thread.class, Long.class, "Threads", new Func<Iterable<Thread>>() {
      public Iterable<Thread> apply() {
        ThreadGroup tg = Thread.currentThread().getThreadGroup();
        while (tg.getParent() != null)
          tg = tg.getParent();
        Thread[] threads = new Thread[50];
        int count = tg.enumerate(threads, true);
        return Enumerable.create(threads).take(count);
      }
    }, Funcs.method(Thread.class, Long.class, "getId"));
    return producer;
  }
}
4

2 回答 2

2

要查看特定实体集,只需将实体集名称附加到 URL。例如:

示例服务 URL 为:http ://services.odata.org/OData/OData.svc/

要查看 Products 实体集,请访问:http ://services.odata.org/OData/OData.svc/Products

请注意,这也在 .svc 直接返回的服务文档中进行了描述。每个集合元素都有一个 href 属性,它是指向该集合的相对 URL。

于 2013-02-04T10:23:43.613 回答
2

如果您想从浏览器中查看数据,只需在 .svc 后添加实体集名称。也可以放查询查看过滤后的数据

示例服务 URL 为:http ://services.odata.org/OData/OData.svc/

http://services.odata.org/OData/OData.svc/entitynameset

于 2013-04-05T11:39:52.740 回答