2

Android用のイオンアプリを作成していますが、今日はサーバー側のnodejs(エクスプレス)Restful APIをcloud9のmongodbで実装しました。

しかし、URL への http リクエストをトリガーすると、タイトルに記載されているエラーが発生し続けます。

これは、イオンでの私のAngular httpリクエストです(最初にテストするだけです):

app.controller('DashCtrl', function($scope, $http, $q) { 
    $http.get('https://[workspace]-[user].c9users.io/api/capture')
        .then(function(result) {
            console.log(result);
    });
});

これは私のワークスペースのイメージです:

ワークスペース

次のコードを使用してデータベースを作成しました: api.js

var Capture = require('../models/capture');
module.exports = function(router) {
    router.get('/capture', function(req, res){
        var capture = new Capture();
        // capture.birdname = req.body.birdname;
        // capture.place.city = req.place.body.city;
        // capture.place.country = req.place.body.country;

        capture.birdname = "Pigeon";

        capture.save(function(err, data){
            if(err)
                throw err;

            res.json(data);
        });
    });

    router.get('/captures', function(req, res){
        Customer.find({}, function(err, data){
            res.json(data);
        })
    })
}

キャプチャ.js

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var captureSchema = mongoose.Schema({
    birdname: String,
    place: {
        city: String,
        country: String   
    }
});

module.exports = mongoose.model('Capture', captureSchema)

データベース.js

module.exports = {
    'url': 'mongodb://' + process.env.IP
}

サーバー.js

var express = require('express');
var app = express();

var mongoose = require('mongoose');
var configDB = require('./server/config/database.js');

mongoose.connect(configDB.url);

var api = express.Router();
require('./server/routes/api')(api);
app.use('/api', api);

app.listen(process.env.PORT, process.env.IP);
console.log('Listening on port ' + process.env.PORT)

このエラーが発生する理由と、これを修正するために何をする必要があるかを知っている人はいますか? 実装方法はわかりませんが、APIにリクエストを送信できるサーバーと関係があると思います。

データベース (API キーなど) を保護する方法もあり、これをどのように実装しますか?

前もって感謝します

4

0 に答える 0