Restivus вернуть HTML-шаблон?

Я пытаюсь сделать API для моего приложения METEOR. Я посмотрел на https://atmospherejs.com/simple/rest и https://atmospherejs.com/xcv58/collection-api но это не сработало. Теперь я нахожусь на restivus: https://atmospherejs.com/nimble/restivus

Проблема, которую я получил, состоит в том, что, когда я пытаюсь вызвать API, он всегда возвращает мой HTML-шаблон, в противном случае мне нужен ответ JSON...

Это мой код для API =>

В server.js:

// Global API configuration
    var Api = new Restivus({
        apiPath: 'api/',
        auth: {
          token: 'auth.apiKey',
          user: function () {
            return {
              userId: this.request.headers['user-id'],
              token: this.request.headers['login-token']
            };
          }
        },
        defaultHeaders: {
          'Content-Type': 'application/json'
        },
        onLoggedIn: function () {
          console.log(this.user.username + ' (' + this.userId + ') logged in');
        },
        onLoggedOut: function () {
          console.log(this.user.username + ' (' + this.userId + ') logged out');
        },
        prettyJson: true,
        useDefaultAuth: true,
        version: 'v1'
    });

    Api.addCollection('coupons');

Когда я пытаюсь сделать curl на http://localhost:3000/api/v1/login/ с некоторыми данными об имени пользователя и пароле, он возвращает мне все мои HTML-шаблоны...

Кто-то знает решение или уже есть эта проблема?

Спасибо за ваши будущие ответы:)

2 ответа

Решение

Проблема в том, что вы используете набор параметров API, которые не рекомендуется использовать в документации. Проверьте комментарий прямо над кодом здесь. Если вы хотите скопировать и вставить некоторый код, чтобы начать, вы можете использовать код из примера быстрого запуска. Все, что вам нужно, это получить API, который вы ищете:

var Api = new Restivus({
  useDefaultAuth: true,
  version: v1
});

Api.addCollection('coupons');

Вы должны установить этот заголовок: Content-Type: 'application/x-www-form-urlencoded;charset=UTF-8' в вашем запросе

Другие вопросы по тегам