Galing версия: 3.3.1
Я пытаюсь опубликовать json полезных нагрузок, используя несколько файлов. Эти файлы содержат сегмент большей JSON полезной нагрузки [уникальный json файл для каждого пользователя].
Поскольку каждый Json файл является сегментом / дочерним элементом большего JSON, мне нужно объединить файлы внутри содержимого stati c JSON. Это та точка, в которой я застрял и мне нужна помощь.
Например: Весь json Структура : -
{
"Static element1" : "Static value",
"Static element2" : "Static value",
"data" : {
"this part of json will come from JSON files generated by Development team"
}
{
Я все еще учусь Гатлингу и до публикации На этот вопрос я попытался найти решение по существующим публикациям, но не смог найти или реализовать с моими ограниченными знаниями.
Подход, который я попытался в качестве первого шага, - добавить единственный путь к файлу JSON через язык EL в пределах содержимого c через фидер. Если можно было бы опубликовать один файл, то я планировал добавить счетчик для перебора всех файлов.
Пользовательский фидер с путем к файлу [сейчас я использую один файл, но в конечном итоге придется использовать несколько]:
val customFeeder = Iterator.continually(Map(
"fileName" -> ElFileBody("bodies/createAccount_0.json")
))
.feed(customFeeder)
.exec(http("Create New Account")
.post("/messages")
.body(StringBody("{" +
"\n\t\"Static element1\": \"Static value\"," +
"\n\t\"Static element2\": \"Static value\"," +
"\n\"data\":"
//I was trying following three options, certainly wrong, as I could not create proper request
// Approach 1 to give the file path directly without using custom feeder
// + ElFileBody(("bodies/databodies/create_Account_0.json"))
// Approach 2 to give the file path through custom feeder
// + """${fileName}"""
// Approach 3 to create a JSON with static content and passing file name as a prameter.
// .body(ElFileBody("bodies/CreateAccountFullBody.json")).asJson
+ "\n\"}\"")).asJson
.check(status.is(201)))
Файл "body / CreateAccountFullBody. json", используемый в третьем подходе
{
Static element1 : "Static value",
Static element2 : "Static value",
data :
"data":"${fileName}"
}
Ответ -
Through cosole output I see that the JSON was not fed.
byteArraysBody={
"Static element1": "Static value",
"Static element2": "Static value",
"data":<function1>
"}"