【发布时间】:2012-05-24 07:10:17
【问题描述】:
尝试使用 Restful Web 服务时出错 POST 方法(带表单参数)。
我想使用 POST 方法使用 REST 应用程序。 请在下面找到我要访问的资源类。
@Path("/user")
公共类用户{
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public Response get(@FormParam("username") String userName,
@FormParam("userid") String userId ){
}
我尝试使用 Jesry 客户端进行访问。请在下面找到我尝试的代码。 我尝试向 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);
这也导致了同样的错误。 任何帮助表示赞赏。
【问题讨论】:
-
你有堆栈跟踪/错误消息/任何东西吗?
标签: java web-services jersey http-post restful-url