Как отправить запрос в кодировке url-адреса x-www-формы с помощью jax-rs?

#java #jax-rs

Вопрос:

 curl --location --request POST 'http://localhost:8080/api/7/run' 
--header 'Content-Type: application/x-www-form-urlencoded' 
--data-urlencode 'start=1510630400000' 
--data-urlencode 'end=1526092400000'
 

Приведенная выше команда curl работает, однако я пытаюсь сделать то же самое с помощью javax.ws.rs , но получаю ошибку 406. Ниже приведен мой код

         Form form = new Form()
            .param("start", "1510630400000")
            .param("end", "1526092400000");

        Response response = client.target("http://localhost:8080/api/7/run")
                .request(MediaType.APPLICATION_FORM_URLENCODED)
                .accept(MediaType.TEXT_PLAIN)
                .post(Entity.form(form));
        assertThat(response.getStatus()).isEqualTo(200);
 

Комментарии:

1. .запрос(тип носителя. APPLICATION_FORM_URLENCODED) это устанавливает заголовок «Принять». 406 означает «Неприемлемо».

2. Также вы уверены, что сервер отправляет ответный текст/обычный текст?

3. Итак, каким должен быть правильный способ, учитывая работающую команду curl?

4. Удалите запрос() и примите(), и это будет эквивалентно вашему запросу на завиток.