Как использовать параметр из тела POST для маршрута GET

Привет, я новичок, чтобы быть уверенным, что удалось получить тестовый пример маршрута POST, работающий, тело ответа для тестового примера ниже

public void submissionsUserPostTest() {

    JSONObject data = new JSONObject();
    data.put("username", "XYZ");

    String jsonString = data.toJSONString();

    Response request = given().contentType("application/json")
            .body(jsonString).expect().statusCode(201).when()
            .post(postRoute);

    request.print();
}

Тело

{"createdAt":"2014-04-16T20:04:40.560Z","updatedAt":"2014-04-16T20:04:40.560Z","id":"51de8ae0-","_links":{"self":{"href":"/assignments/51de8ae0-c43e-44c3-b46d-f48a25739385"}},"username":"XYZ","uploadDate":"2014-04-16T20:04:40.560Z"}

Итак, мой вопрос: как я могу использовать идентификатор, сгенерированный маршрутом POST, в моем маршруте / назначениях / {id} GET с помощью запроса?


person dev    schedule 16.04.2014    source источник
comment
Я не понимаю. Что такое postRoute?   -  person Sotirios Delimanolis    schedule 17.04.2014
comment
postRoute - это строка, которая содержит некоторые адреса / назначения   -  person dev    schedule 17.04.2014
comment
А что вы пытаетесь получить? Значение из JSON?   -  person Sotirios Delimanolis    schedule 17.04.2014
comment
Да, я должен был упомянуть об этом   -  person dev    schedule 17.04.2014
comment
Вы можете отредактировать свой вопрос, чтобы добавить больше деталей. Вы изучали парсеры JSON?   -  person Sotirios Delimanolis    schedule 17.04.2014
comment
Я изучу синтаксический анализатор JSON, я только что посмотрел на него, будьте уверены, сегодня не могли бы вы дать мне ссылку, например, как удалить параметр id из тела ответа POST   -  person dev    schedule 17.04.2014
comment
Начните с изучения формата json. Разберитесь, что такое объект JSON и как его можно вложить. Затем выберите парсер JSON. Возможные варианты: Jackson, Gson, json-simple. org.json и другие. Прочтите текст ответа, проанализируйте его с помощью выбранной библиотеки и используйте соответствующий API для извлечения нужного значения.   -  person Sotirios Delimanolis    schedule 17.04.2014


Ответы (2)


Вы имеете в виду ссылку на себя? В этом случае вы можете:

String assignment = 
given().
        contentType("application/json").
        body(jsonString)
when().
        post(postRoute).
then().
        statusCode(201).
extract().
      path("_links.self.href");

when().
       get(assignment).
then().
       ...
person Johan    schedule 16.07.2014

Используйте что-нибудь вроде

String id = response.jsonPath().getString("id");

затем передайте сохраненное значение [т.е. id] в ваш запрос GET.

person asu    schedule 22.12.2016