RestEasyフレームワークのインターフェイスのみのオプションを使用したいと思っています。Resteasy FrameWork POSTが動作しない
しかし、私はPOSTリクエスト内でパラメータを渡すことに問題があります。
私は、マニュアルでこの例を見つけました:
@PUT
@Path("basic")
@Consumes("text/plain")
void putBasic(String body);
そして呼び出すために:
import org.jboss.resteasy.client.ProxyFactory;
// ...
// this initialization only needs to be done once per VM
RegisterBuiltin.register(ResteasyProviderFactory.getInstance());
SimpleClient client = ProxyFactory.create(SimpleClient.class, "http://localhost:8081");
client.putBasic("hello world");
私は次のことを試してみた:
@POST
@Consumes(MediaType.TEXT_PLAIN)
@Path("http://localhost:8080/app/resource")
String postBasic(String body);
と呼び出さ:
RegisterBuiltin.register(ResteasyProviderFactory.getInstance());
RepoClient client = ProxyFactory.create(RepoClient.class, "");
client.postBasic("hi");
呼び出されたサーブレットのdoPost
メソッドでパラメータMap(およびデバッグ)を出力すると、パラメータは空になりました。私のアプローチと文書化されたアプローチの違いはわかりません(こちらはResteasy interface exampleです)。
したがって、インターフェイスの宣言とプロキシの実装のみを使用して、POSTパラメータを送信するにはどうすればよいですか。
解決策:期待通りです...受け取ったパラメータに応じて消費量を宣言するだけで、動作します...問題は別のサーブレット内のサーブレットのPOSTメソッドを呼び出すことでした。
ちょうど試みました...サーブレットは実際に呼び出されましたが、要求パラメータはありません –
別の実行可能ファイルでサーバーを呼び出していますか? 'ProxyFactory'を* empty *のベースURLで作成することに注意してください。実際にはネットワーク経由で(ループバック経由で)サーバーに接続しますか? –
サーブレット内でpostメソッドを呼び出すことが問題であるかどうかを確認します。 –