2015-06-01 3 views
1

Я использую Паруса 0.11. Их документы говорят, что можно отправить несколько объектов в схему , просто передав массив JSON.Sails 0.11 400 ответ при отправке массива JSON на чертежный маршрут

Я пытаюсь это сделать, но я получаю 400 плохой запрос в качестве ответа.

Это мой случай:

У меня есть модель под названием Предсказания, который имеет только два поля пользователя (идентификатор) и опрос (ID). Я отправляю это (к/прогноз):

[ 
    { 
     "user": "556b33e884eb522f02a4f52e", 
     "poll": "556c4ff8243f03e501e2b65c" 
    } 
] 

И я получаю 400 ответ со следующим телом:

{ 
    "error": "E_VALIDATION", 
    "status": 400, 
    "summary": "2 attributes are invalid", 
    "model": "Prediction", 
    "invalidAttributes": { 
    "user": [ 
     { 
      "rule": "required", 
      "message": "\\"required\\" validation rule failed for  input: null" 
     } 
    ], 
    "poll": [ 
     { 
       "rule": "required", 
       "message": "\\"required\\" validation rule failed for input: null" 
     } 
    ] 
    } 
} 

Любые подсказки, почему это происходит ?.

UPDATE

Я также разместил выпуск на парусов репо на GitHub :

https://github.com/balderdashy/sails/issues/2977

ответ

1

Вы POST массив объектов, но вам нужно POST просто Объект:

POST /prediction

{ 
    "user": "556b33e884eb522f02a4f52e", 
    "poll": "556c4ff8243f03e501e2b65c" 
} 
+0

Я хочу ПОСТ-массив. Документы Sails говорят, что это разрешено, поэтому несколько строк добавляются в БД всего за один POST. Проверьте документы http://sailsjs.org/#!/documentation/reference/blueprint-api/Create.html –

+1

Ну, я проверил. Паруса всегда выдают ошибку, если сохранить массив через Blueprint. Таким образом, даже если написано, что «Вложенные объекты и массивы, переданные в качестве параметров, обрабатываются так же, как если бы они были переданы в метод .create() модели.» - Это не работает. Таким образом, вы можете передать массив контроллеру и сохранить его через 'Prediction.create()' – Bulkin

+0

. Да, я уже опубликовал эту проблему на ** паруса ** репо, поэтому они знают, что он не работает. На данный момент я просто реализую настраиваемое действие action для Prediction. Спасибо за вашу помощь. –