use*_*073 10 rest java-ee java-ee-7
我有一个REST服务,使用表单参数公开POST服务:
@POST
@Path("/add")
@Produces("text/html")
public Response create(@FormParam("key")String key,
@FormParam("value")String value)
{
service.addToList(key,value);
return Response.ok(RESPONSE_OK).build();
}
Run Code Online (Sandbox Code Playgroud)
我需要找到一种方法来使用JAX-RS客户端API调用此服务.遗憾的是,网上唯一可用的示例使用了传递给Web目标资源的Entity类:
StoreOrder order = new StoreOrder(...);
WebTarget myResource = client.target("http://example.com/webapi/write");
TrackingNumber trackingNumber = myResource.request(MediaType.APPLICATION_XML)
.post(Entity.xml(order), TrackingNumber.class);
Run Code Online (Sandbox Code Playgroud)
知道如何通过单个参数(可能是表单参数)调用我的服务吗?谢谢!
pWo*_*Woz 22
你应该使用:javax.ws.rs.client.Entity<T>结合使用javax.ws.rs.core.Form.这是一个简单的例子:
Client client = ClientBuilder.newClient();
WebTarget target = client.target("http://localhost:9998").path("resource");
Form form = new Form();
form.param("key", "foo");
form.param("value", "bar");
TrackingNumber requestResult =
target.request(MediaType.APPLICATION_JSON_TYPE)
.post(Entity.entity(form,MediaType.APPLICATION_FORM_URLENCODED_TYPE),
TrackingNumber.class);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24622 次 |
| 最近记录: |