Что я пытаюсь сделать:
1) Публикация в моем API с моим файлом .json (, который содержит все необходимое мне тело )
2) Из файла .json я хочу использовать переменную типа $ {value}, чтобы затем взять это значение из моего файла .js и заменить переменную в файле .json
- В настоящее время используется NodeJS с Mocha. У меня есть вызов API (код .js ниже):
// for brevity - I removed the other dependencies
const jsonconfig_post = require('./POST.json'); // this is my .json file
describe('\nPOST <TO MY ENDPOINT> \n', function() {
const apiBase = `<MY ENDPOINT>`;
const cookieJar = request.jar();
var nameDate = new time.Date();
beforeEach(function(done) {
this.timeout(5000);
common.verifyLogin(cookieJar, done); //calls my login code
});
it('POST 1: <MY ENDPOINT> - POST', function(done) {
const title = 'NodeJS_Project';
let requestBody = jsonconfig_post(title + nameDate);
//NodeJS_Project is the Var name and nameDate is the appended date
this.timeout(5000);
const opts = {
jar: cookieJar,
uri: `${apiBase}/<MY ENDPOINT>`,
method: 'POST',
json: true,
headers: {
"Content-Type": "application / json",
"Accept": "text / json"
},
body: (requestBody), // POST to my API with this
};
request(opts).then(() => {
opts.body = {};
console.log(requestBody);
done();
}).catch(done);
});
});
- Мой файл POST.json - ниже. Я хочу взять $ {title} и заменить его тем, что у меня есть в моем .js-коде - «NodeJS_Project».
{
"title": "${title}",
"Id": "<SOME ID>"
}
изучение NodeJS / Mocha и очень нравится до сих пор. Я могу сделать это за пределами использования файла .json, но использование файла .json делает вещи НАСТОЛЬКО намного проще с точки зрения того, как выглядит .js, например. просто и чисто. Это небольшой пример - другие вызовы POST используют ОГРОМНОЕ тело json (много вложенных элементов), поэтому использование .json в этом случае очень ценно, например, замена многих переменных / значений в файле .json. Я знаю, это может работать, я надеюсь? Сейчас я получаю 400 и вижу, что JSON не передается в конечную точку правильно -ИЛИ- Я просто отправил переменную $ {title} (не то, что я хочу). Любая помощь будет очень цениться.
примечание - я пробовал ряд других подходов с использованием JSON.parse / stringify и т. д., но это не помогло -ИЛИ- Я не использую правильно (конечно, может иметь место :)).
заранее спасибо
Ура!
-E