Как мы можем проверить kinvey-flex-sdk локально?
Насколько я понимаю, сервисные объекты, которые мы регистрируем, вызываются только коллекциями kinvey. Есть ли способ проверить это локально?
Я написал ниже код.
var sdk = require ('kinvey-flex-sdk');
const PORT = 8080;
sdk.service ({хост: 'localhost', порт: PORT }, функция (err, flex) {
const data = flex.data;
function authentication(request, complete, modules) {
console.log("Inside...");
complete().setBody("Authenticated");
};
const widgets = data.serviceObject('widgets');
widgets.onInsert(authentication);
});
И я сомневаюсь, что функция аутентификации не запускается для запроса POST http://localhost:8080/widgets {}..
Можете ли вы помочь мне решить эту проблему?
Заранее спасибо..
2 ответа
Вы можете запустить службу локально, просто запустив "node index.js". Это запустит слушателя, к которому вы можете обратиться, например, с Почтальоном. Каждый локальный тест требует "POST" для определенных маршрутов. Маршруты тестирования описаны здесь: http://devcenter.kinvey.com/ios/guides/flex-services
Также см. http://devcenter.kinvey.com/guides/flex-services для необходимых заголовков, которые вы должны установить при каждом запросе, чтобы получить правильный контекст и разрешение
Вам необходимо передать следующие заголовки:
Content-Type:application/json
Authorization:Basic <basicAuth>
X-Kinvey-App-Metadata:{ "_id" : "<kinveyAppId>", "appsecret" : "<kinveyAppSecret>", "mastersecret" : "<kinveyMasterSecret>", "baasUrl" : "<kinveyBaseURL>" }
X-Kinvey-Original-Request-Headers:{ "x-kinvey-api-version" : "<KinveyApiVersion>", "authorization" : "Basic <basicAuth>", "x-kinvey-client-app-version" : "<KinveyClientAppVersion>"}
X-Kinvey-Username:<username>
X-Kinvey-User-Id:<userid>
Если вы работаете с функцией flex:
http://localhost:<port>/_flexFunctions/<flexFunctionName>