Как удалить определенный параметр, используя их идентификатор в Rest Assured? - PullRequest
0 голосов
/ 24 сентября 2018

Ниже приведен ответ json

{
  "details": [
    {
      "UserName": "john",
      "id": "abc_123",
      "LastName": "smith"
    }
  ]
}

Мне нужно удалить только параметр UserName:

request.delete("http://localhost:8080/details/id/UserName");

Приведенный выше код не работает, и мой ожидаемыйниже

{
  "details": [
    {
      "id": "abc_123",
      "LastName": "smith"
    }
  ]
}

1 Ответ

0 голосов
/ 24 сентября 2018

Пожалуйста, проверьте пример Минимальный, Полный и Проверяемый , прежде чем писать вопрос о SO. Есть люди, которые могут помочь, но нам нужно знать, что вы пробовали заранее.

Чтобы ответить на ваш вопрос, вы должны использовать PUT , а не DELETE , потому что вы пытаетесь обновить полезную нагрузку.DELETE, как следует из названия, удалит весь ресурс

Проверьте эту ссылку для более подробной информации

PUT-вызовы зависят от ресурса , поэтому вам придетсяупомяните, какая сущность должна быть затронута.

Я пришел с примером кода на основе предоставленной вами информации

Используется HashMap здесь, но вы также можете опубликоватьтело как таковое или использование POJO или JSONObject

{

    Map < String, Object > map = new HashMap < > ();
    map.put("details", Arrays.asList(new HashMap < String, Object > () {
        {
            put("id", "abc_123");
            put("LastName", "smith");
        }
    }));

    RequestSpecification req = RestAssured.given();
    req.header("Content-Type", "application/json");
    req.body(map).when();
    Response resp = req.put("http://localhost:8080/details/id/abc_123");

    String body = resp.asString();
    System.out.println("Response is : " + body);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...