2017-03-28 3 views
1

私はカスタムミドルウェアの小さな部分を持っていますが、text/html以外のものにはレスポンスのコンテンツタイプを取得できないようです。ExpressJS 4.15.2カスタムミドルウェアセットコンテンツタイプ

getValidator: function(req, res, next) { 
    res.setHeader('Content-Type', 'application/json'); 

    if (!req.query.Name) { next('please provide a Name'); } 

    return next(); 
    } 

これは他のカスタムミドルウェアを持たない超小型アプリです。

ありがとうございます!

答えて

1

私は自分自身に答えるつもりです。 :)私は間違っている場合は私を修正してください、これは動作しているように見えます。

「返品」を使用しないと、チェーンを経由し続ける。 next( 'ANYTHING')を使用すると、ExpressJSのデフォルト404ハンドラに入り、text/htmlを返そうとします。これが誰かを助けることを願っています! (または私は次回にそれを台無しにします)

+1

あなたは 'return next( 'ANYTHING')'を使うこともできます。主な問題は、ミドルウェアから戻って実行されないようにミドルウェアの残りの部分を停止することです。 – robertklep

+0

恐ろしい!おかげでrobertklep! – coreyperkins