Я пишу клиент для одного из своих REST API, используя jersey (org.glassfish.jersey.client. *).
URL-адрес API: http://localhost:5676/searchws/search/getresults
(POST)
этот api возвращает ответ json. Мне нужно предоставить полезную нагрузку с помощью клиента jersey, и вот где я застрял. FOllowing - это образец извлечения полезной нагрузки, который мне нужно предоставить (желательно в виде строки)
Вопрос в том, как я могу предоставить полезную нагрузку (XML / JSON) в виде строки или объекта для моей веб-цели.
Я видел ответ на предоставление полезной нагрузки, упомянутый Calden Как отправить полезную нагрузку запроса в REST API в java?, но я ищу способ сделать это в клиенте jersey.
Вот мой код, который до сих пор не работает полностью для почтовых запросов.
public class RequestGenerator
{
private WebTarget target;
private ClientConfig config;
private Client client;
private Response response;
public RequestGenerator(Method RequestSendingMethod) throws Exception
{
switch (RequestSendingMethod)
{
case POST :
config = new ClientConfig();
client = ClientBuilder.newClient(config);
target = client.target("http://localhost:5676/searchws").path("search").path("getresults");
String payload = "{\"query\":\"(filter:(\\\"google\\\")) AND (count_options_availbale:[1 TO *])\"}"; //This is just a sample json payload actual one is pretty large
response = target.request(MediaType.APPLICATION_JSON_TYPE).post(Entity.json("")); // What to do here
String jsonLine = response.readEntity(String.class);
System.out.println(jsonLine);
}
}