gpt4 book ai didi

rest - 使用 JAX-RS 2.0 客户端 API 进行 POST

转载 作者:行者123 更新时间:2023-12-03 20:32:07 24 4
gpt4 key购买 nike

我有一个 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();

}

我需要找到一种使用 JAX-RS 客户端 API 调用此服务的方法。不幸的是,网络上唯一可用的示例使用传递给您的 Web 目标资源的实体类:
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);

知道如何调用我的服务传递单个参数(可能是表单参数)吗?
谢谢!

最佳答案

您应该使用: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);

关于rest - 使用 JAX-RS 2.0 客户端 API 进行 POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23807666/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com