尝试使用 POST 方法(使用表单参数)使用 Restful Web 服务时出错。
我想使用 POST 方法使用 REST 应用程序。请在下面找到我要访问的资源类。
@Path("/user")
公共类用户{
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public Response get(@FormParam("username") String userName,
@FormParam("userid") String userId ){
}
我尝试使用 Jesry Client 进行访问。请在下面找到我尝试过的代码。我尝试向 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);
这也导致了同样的错误。任何帮助表示赞赏。