SwaggerとNode.jsを使用してGETメソッドを呼び出すとエラーが表示されるので、単純なHello Worldアプリケーションを作成しようとしています:TypeError:res.jsonは関数ではありません。闊歩エディタを使用して、私は次のYAML APIを作成しました:Node.js TypeError:res.jsonは関数ではありません
---
swagger: "2.0"
info:
version: "1.0.0"
title: "Hello World"
paths:
/hello:
get:
x-swagger-router-controller: "hello_world"
description: "Returns 'Hello' to the caller"
operationId: "hello"
parameters:
- name: "name"
in: "query"
description: "The name of the person to whom to say hello"
required: false
type: "string"
responses:
200:
description: "Returns greeting"
schema:
type: "string"
title: "HelloWorldResponse"
400:
description: "Invalid characters in \"user\" were provided"
definitions: {}
私はNode.jsのサーバーを生成するために闊歩エディタを使用してhello_world.jsコントローラを作成しました。 Swagger UIを使用してhttp://localhost:8081/hello?name=victoryを呼び出してコードをテストしようとすると、次のエラーが表示されます。TypeError:res.jsonは関数ではありません。ここに私のNode.jsのコードは次のとおりです。
'use strict';
var util = require('util');
module.exports = {
hello: hello
};
function hello(req, res) {
// variables defined in the Swagger document can be referenced using req.swagger.params.{parameter_name}
var name = req.swagger.params.name.value || 'stranger';
var greeting = util.format('Hello, %s!', name);
// this sends back a JSON response which is a single string
res.json(greeting); //ERRORS OUT HERE
}
私が闊歩し、Node.jsのに新たなんだので、私は、なぜ私がエラーまたはそれをトラブルシューティングについて移動する最良の方法を取得していますかわかりません。あなたが私に与えることができるどんな助けも高く評価されるでしょう。
更新:res.end(greeting)が機能することが判明しました。 res.jsonとres.sendがなぜそうしないのか誰も説明できますか?
'res.send'はいいですか? –
私はTypeErrorを取得します.res.json(greeting)を変更すると、res.sendは関数ではありません。 res.send(挨拶); – jencoston
あなたは 'hello'コントローラの使い方を表示できますか? –