2017-12-07 7 views
0

私は、Postmanで投稿する際に本文入力に基づいてSMSを送信するindex.jsファイルを作成しました。コードが動作して(私はこのプレビューのための私のAPIKEYとapiSecretを隠されている)、このようになりますされNode.js POSTメソッドエラー404

const express = require('express'); 
const bodyParser = require('body-parser'); 
const app = express(); 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: true })); 
const Nexmo = require('nexmo'); 
const nexmo = new Nexmo({ 
    apiKey: 'hidden.apiKey', 
    apiSecret: 'hidden.apiSecret' 
    }); 

app.post('/send', (req, res) => { 
// Sending SMS via Nexmo 
nexmo.message.sendSms(
    '4542542445', req.body.toNumber, req.body.message, {type: 'unicode'}, 
    (err, responseData) => {if (responseData) {console.log(responseData)}} 
); 
}); 
const server = app.listen(3000); 
console.log("starting server") 

それは罰金中華鍋と私は、ファイルを実行すると、私はSMSメッセージを受信し、ポストマンを使用してルートへのポスト。

私のフロントエンドとバックエンドを表す別のクライアントとサーバーのフォルダがある私の大きなプロジェクトでも同じことを実装しようとしています。

私のapp.jsファイルにコードを追加すると、ステータスコード404が見つかりませんでした。エラーが発生しました。私がすることができ、私が間違っているかを把握し、それがルートに当たらない理由を試すために助けを求めています

const express = require('express') 
const bodyParser = require('body-parser') 
const cors = require('cors') 
const morgan = require('morgan') 
const {sequelize} = require('./models') 
const config = require('./config/config') 
const Nexmo = require('nexmo') 

const app = express() 

app.use(morgan('combined')) 

app.use(bodyParser.json()) 
app.use(bodyParser.urlencoded({ extended: false})) 

app.use(cors()) 

require('./routes')(app) 

sequelize.sync() 
.then(() => { 
    app.listen(config.port) 
    console.log(`Server started on port ${config.port}`) 
}) 

const nexmo = new Nexmo({ 
apiKey: 'hidden.apiKey', 
apiSecret: 'hidden.apiSecret' 
}, {debug: true}) 

app.post('/send', (req, res) => { 
// Sending SMS via Nexmo 
nexmo.message.sendSms(
    '4542542445', req.body.toNumber, req.body.message, {type: 'unicode'}, 
    (err, responseData) => {if (responseData) {console.log(responseData)}} 
); 
    }); 

代わりにステータスコードを返すと、404

:ここに私のapp.jsのコードがあります私のギブスを分かち合うか、不和について話し合うことができます:soko#8667

あなたの考えと助けに感謝します。急行で

+0

は、この機能が正常であればあなたのアプリのように見えます: 'sequelize.sync()'。あなたのアプリも起動しますか? – LMokrane

+0

私の現在のアプリは問題なく完全に動作します。 nexmoメッセージルートを追加すると、何とかルートにヒットしないようです。 –

+0

'require( './ routes')(app)'のためにこの行は何ですか? – LMokrane

答えて

0

ルートを記述する必要があります:

let route = require('routes'); 
app.use('/', route); 
0

私はそれを動作させることができました。

サーバーの稼働中に新しいルートを追加していました。

私のPCを再起動し、サーバとクライアントを再度実行したところ、うまくいきました。

+0

なぜこのような変更を自動化するために 'nodemon'を使ってみませんか?それはあなたにサーバーを再起動させなければならないというストレスを解消します。 – nonybrighto

+0

これはノードモンを使用しているため、なぜ動作していなかったのかわかりませんでした(新しいルート)。私はノーデモンがそれをすることを期待していたが、私はそれがオープンポートとは違うと思う。 –