Как сделать http запрос с помощью wix? - PullRequest
0 голосов
/ 24 октября 2019

У меня есть веб-сайт Wix, и я пытаюсь сделать API-запросы к мобильному приложению. У меня есть база данных под названием Stores, в которой есть коллекция под названием Products

Мой вопрос заключается в том, как получитьзапросить получение всех значений в коллекции товаров? мой код ниже не работает

http-functions.js

import {ok, notFound, serverError} from 'wix-http-functions';
import wixData from 'wix-data';


export function get_example(request) {
    const response = {
        "headers": {
            "Content-Type": "application/json"
        }
    };

    return wixData.query("Products")
    .find()
    .then(
        result=> {
            response.body = {
            "items": result.items
        };
        return ok(response);
        }
    )
}

Я получаю эту ошибку

{"error":{"name":"Error","errorGroup":"User","code":"WD_VALIDATION_ERROR"}}

1 Ответ

1 голос
/ 24 октября 2019

Я пытаюсь сделать запросы API к мобильному приложению

Вы пытаетесь сделать запрос API TO мобильным приложением? Если это так, вам нужно использовать wix-fetch.

Если вы пытаетесь сделать запрос ОТ мобильного приложения ДО вашего сайта Wix, то вы находитесь направильном пути. Вам нужно будет позвонить, как показано ниже.

import {ok, notFound, serverError} from 'wix-http-functions';
import wixData from 'wix-data';

export function get_getNewItems(request) {
    let options = {
    "headers": {
        "Content-Type": "application/json"
        }
    };
    return getItems(options)
    .catch( (error) => {
        options.body = {
            "origin": "server error",
            "error": error
        };
        return serverError(options);
    });
}

function getItems(options) {
    return wixData.query("Stores/Products")
    .find()
    .then( (results) => {
      // matching items were found
        if(results.items.length > 0) {
            options.body = {
                "origin": "success",
                "items": results.items
            };
            return ok(options);
        } else {
        // no matching items found
            options.body = {
                "origin": "no items",
                "error": 'No items found'
            };
            return notFound(options);
        }
        });
}
...