1

こんにちは
、Odata4j を使用して Odata Service を作成し、Tomcat にデプロイしました。Sesame Data Browserを使用すると、ヘッダーを持つテーブル
( THREAD をクリックすると) が表示されます。私の質問は、web ブラウザーで同じデータを表示するための 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 によって直接返されるサービス ドキュメントにも記述されていることに注意してください。各コレクション要素には、そのコレクションを指す相対 URL である href 属性があります。

于 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 に答える