0

データを手動で挿入する代わりに、Heroku にデプロイされた Spark Java (sparkjava.com) サーバーにデータを入力する Kettle 変換を作成しようとしています。ルート「/insert」で Post リクエストを処理するサーバー側のコードは次のとおりです。

post("/insert", (req, repl) -> {
        String json=new String(req.bodyAsBytes());
        /*Some processing...*/
        MyRecordList myRL=MyRecordList.fromJsonString(json);
        for (MyRecord mr : myRL.getRecords()) {
            Instance inst = mr.toWekaInstance(trainset);
            trainset.add(inst);
        }       
        return "ok";
    });

これで、本体全体が MyRecordList オブジェクトの JSON になると思います。

Pentaho 側には HTTP Post ステップがあり、場所の定義は簡単です。ただし、投稿リクエストの本文全体としてJSON文字列を指定してサーバーに送信する方法に固執しています。Heroku のログによると、Pentaho によって生成されたリクエストはサーバーに到達しません。私がそこに置いたパラメータは次のとおりです。 一般オプション 田畑

上記の制限に従って、誰かが私を啓発したり、サーバーにデータを追加する他の方法を教えてくれたりできますか?

4

1 に答える 1

0

json コンテンツをペイロードではなくヘッダーとして送信していますが、これは正しいことです。また、リクエストの content-type を json に設定したことをスクリーンショットで確認できませんでした。おそらく html 形式で送信されているのでしょう。このツール Pentaho を使用したことはありませんが、この Chrome 拡張機能を使用することをお勧めします。これは、Rest Api テスターの中で最も簡単だと思います。

于 2016-05-17T13:56:08.113 に答える