POSTメソッド(フォームパラメーターを使用)を使用してRestfulWebサービスを使用しようとしたときにエラーが発生しました。
POSTメソッドを使用してRESTアプリケーションを使用したい。アクセスしたいリソースクラスを以下で見つけてください。
@Path("/user")
パブリッククラスユーザー{
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public Response get(@FormParam("username") String userName,
@FormParam("userid") String userId ){
}
アクセスにJesryClientを使用してみました。試したコードを以下に示します。以下に示すように、FormParamに値を追加してみました。
トレイル1
WebResource webResource = client.resource("baseURL/user");
String input = "userid:1001,username:demo1";
ClientResponse response = webResource.type("application/x-www-form-urlencoded").post(ClientResponse.class, input);
「サーバーでこの要求を実行できない内部エラー()が発生しました」というエラー応答が返されます。FormParamに値を正しく追加していないと思います。
試験2
また、以下のコードを使用してフォームパラメータを追加してみました
MultivaluedMap formData = new MultivaluedMapImpl();
formData.add("userid", "1001");
formData.add("username", "demo1");
ClientResponse response = webResource.type("application/x-www-form-urlencoded").post(ClientResponse.class, formData);
これも同じエラーになりました。
試験3
Form f = new Form();
f.add("userid", "1001D");
f.add("username", "1001D");
ClientResponse response = webResource.type(MediaType.APPLICATION_FORM_URLENCODED_TYPE).post(ClientResponse.class, f);
これも同じエラーになりました。どんな助けでも大歓迎です。