0

私は試験の実践のためにモバイルアプリを構築しています。試験の詳細と質問のためにAPIエンドポイントが必要です。私はsails.jsで自分のデータを構造化するのに助けが必要です。 firebaseのこのJSON構造を念頭に置いています。sailsjs APIのアプリケーションモデル構造

エンドポイントGET操作は、これを返す必要があります:

waecは試験です
  { 
      "8h9iuhiuhi89h98h": { 
       "exam": "waec", 
       "year": "1990", 
       "subject": "chemistry", 
       "question": "Which of these is not an acid", 
       "answers": [ 
       { 
       option: "NaCl", 
       isValid: true 
       }, 
       { 
       option: "H<sub>2</sub>SO<sub>4</sub>", 
       isValid: false 
       }, 
       { 
       option: "H<sub>3</sub>", 
       isValid: false 
       }, 
       { 
       option: "HCl", 
       isValid: false 
       } 
       ] 
      }, 
      "8h9iuhiuhi89h98h": { 
       "exam": "waec", 
       "year": "1990", 
       "subject": "chemistry", 
       "question": "Which of these is not an acid", 
       "answers": [ 
       { 
       option: "NaCl", 
       isValid: true 
       }, 
       { 
       option: "H<sub>2</sub>SO<sub>4</sub>", 
       isValid: false 
       }, 
       { 
       option: "H<sub>3</sub>", 
       isValid: false 
       }, 
       { 
       option: "HCl", 
       isValid: false 
       } 
       ] 
      }, 
"8h9iuhiuhi89h98h": { 
       "exam": "waec", 
       "year": "1990", 
       "subject": "chemistry", 
       "question": "Which of these is not an acid", 
       "answers": [ 
       { 
       option: "NaCl", 
       isValid: true 
       }, 
       { 
       option: "H<sub>2</sub>SO<sub>4</sub>", 
       isValid: false 
       }, 
       { 
       option: "H<sub>3</sub>", 
       isValid: false 
       }, 
       { 
       option: "HCl", 
       isValid: false 
       } 
       ] 
      }, 
      "8h9iuhiuhi89h98h": { 
       "exam": "waec", 
       "year": "1990", 
       "subject": "chemistry", 
       "question": "Which of these is not an acid", 
       "answers": [ 
       { 
       option: "NaCl", 
       isValid: true 
       }, 
       { 
       option: "H<sub>2</sub>SO<sub>4</sub>", 
       isValid: false 
       }, 
       { 
       option: "H<sub>3</sub>", 
       isValid: false 
       }, 
       { 
       option: "HCl", 
       isValid: false 
       } 
       ] 
      }  
    } 

、1990年であり、かつ化学が対象です。

http://someappurl.com/api/exam/{exam}/{year}/{subject} 

私はsails generateコマンドを使用してAPIを生成しました。私は自分のデータをどのように構造化して照会するのか分からない。スキーマをどのように構造化しますか? は、私はあなたが正しくモデルを使用していないこの

attributes: { 
    exams: { 
     exam_name: 'string', 
     years: { 
     exam_year: 'string', 
     subjects:[ 
      { 
      subject_name: 'string', 
      questions: [ 
       { 
       serial_no: 'string', 
       text: 'string', 
       answers:[ 
        { 
        option: 'string', 
        is_valid: 'boolean' 
        } 
       ] 
       } 
      ] 
      } 
     ] 
     } 
    } 
    } 
+0

あなたのJSONがnであります有効です。重複したキーがあり、要素名の大部分が二重引用符で囲まれていません。これを修正してからフォーマッタで実行してください。さもなければ、人々はどのようにそれを読むはずですか? –

答えて

0

のように帆モデルの構造を有しています。各Model.jsは表であり、各属性は列であると考えてください。

// api/models/Exam.js 
module.exports = { 
    attributes: { 
    name: { 
     type: 'string', 
    }, 
    year: { 
     type: 'integer' 
    }, 
    subject: { 
     type: 'string', 
    }, 
    question: { 
     type: 'string', 
    }, 
    answers: { 
     type: 'array', 
    } 
    } 
}; 

をし、コントローラ上で、あなたは、DBからのデータを表示する方法を定義します:

だから、あなたのExam.jsは、このようにすることができます。 あなたはドキュメント上の帆モデルとコントローラについての詳細を学ぶことができます。

例プロジェクト: