1112 Конечно, может быть. В большинстве случаев REST представляет собой JSON по HTTP , поэтому JMeter, естественно, поддерживает отправку запросов REST через сэмплер HTTP Request .
Вам также может понадобиться добавить HTTP Header Manager , чтобы отправить Content-Type
Заголовок со значением application/json
[1113 ]
Дополнительная информация:
Вы попытались изучить Шаблон разработки Сувенира? Это кажется особенно четко определенным для Вашей проблемы. Из Википедии:
Шаблон "memento" является шаблоном программного дизайна, который обеспечивает способность восстановить объект к его предыдущему состоянию (отмена через откат).
Та же страница также имеет раздел с реализацией Java, так как Вы упомянули, что это находится в Java.
Если то, что Вы хотите, является на самом деле картой, можно хотеть изучить персистентные структуры данных; например, персистентные деревья B.
Мы делаем что-то подобное этому с сериализацией.
Мы храним заархивированные данные к файловой системе в сериализированной форме. Часть графа объектов, который мы должны восстановить, сериализируется, а также основной объект.
Удостоверьтесь, что Вы присваиваете версию своим объектам и удостоверяетесь, что Ваш differencing может справиться с недостающими/новыми полями.
Мы приняли решение сохранить к файловой системе, потому что она дает нам (эффективно) неограниченную способность. Скорость не является проблемой для нас, но метод файловой системы удивительно быстр, большинство людей не замечает дополнительный 50-100ms!
Рассмотрите изменение перспективы. Вместо того, чтобы видоизменить объекты, которые составляют состояние экрана, используйте неизменное состояние. Это могло бы походить на противоречие в терминах, но это не.
Например, скажите (для пользы простоты), что Ваше состояние состоит из единственной Строки. Очевидно, так как Строки неизменны, Вы не должны будете клонировать Строку, чтобы сохранить и изменить состояние. Например:
public List<String> changeTheScreen(List<String> states) {
return states.cons(states.head() + "x");
}
public void renderTheScreen(String currentState) {
// TODO: draw the screen given the current state
}
В вышеупомянутом примере, List
fj.data.List
, неизменный тип отдельно-связанного-списка в оперативной памяти из библиотеки Functional Java (стандартные библиотеки не имеют неизменного списка). Метод взял бы историю состояний с текущим состоянием впереди списка. Это управляет состоянием экрана путем создания нового состояния и помещения его впереди нового списка состояний.
Примените этот тот же принцип к любому типу, который Вы хотите использовать в качестве состояния. Удостоверьтесь, что Ваше состояние составлено полностью из неизменных объектов (Строки, и примитивы уже неизменны). Используя неизменные объекты для состояния сохранит Вас много головных болей обслуживания в будущем, а также сохранит память, так как неизменные вещи могут быть снова использованы, не имея необходимость клонироваться.
Неизменный объект будет инициализирован в его конструкторе, и все его внутренние поля будут final
.
Функциональный Java имеет неизменную карту под названием TreeMap. Вы использовали бы его следующим образом:
public List<TreeMap<String, Object>>
changeState(List<TreeMap<String, Object>> states) {
return states.cons(states.head().set("Key1", new Object1("x")));
}
Вы могли всегда использовать сериализацию;
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream);
objectOutputStream.writeObject(object);
objectOutputStream.flush();
byteArrayOutputStream.close();
ByteArrayInputStream istream = new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
ObjectInputStream objectInputStream= new ObjectInputStream(istream);
Object deserialized = objectInputStream.readObject();
istream.close();
Медленный и неуклюжий, но работы.
В моем проекте мы достигли чего-то очень похожего путем сериализации к XML-файлам. Это работало хорошее на нас. Все объекты, которые Вы хотите возвратить - сериализируют в XML-файле четко определенным способом так, чтобы каждый раз, когда впоследствии можно было возвратить состояние от XML-файла.