私が取り組んでいるプロジェクトの API を構築するために、swagger-node-express のようなものを使用することに興味があります。ただし、アプリの一部は非 API ベースです (代わりに HTML を提供します)。通常のルートと一緒に Swagger を使用する方法について、誰かアイデアはありますか?
4912 次
1 に答える
5
ルートが Swagger ルートと競合しないことを確認するだけで、他のルートは通常どおり処理されます。簡単な方法の 1 つは、Swagger をサブパスの下でライブにすることです。そのスコアに関するドキュメントをご覧ください。
https://github.com/wordnik/swagger-node-express
var app = express();
var subpath = express();
app.use(express.bodyParser());
app.use("/v1", subpath);
swagger.setAppHandler(subpath);
それ以外の場合は、アプリケーションで使用している他の URL が Swagger URL と競合しないように注意するだけで、ルートとハンドラーを正常に定義できるはずです。たとえば、Swagger を使用して以下のドキュメントを提供できますが、通常の方法でルートを追加するだけで別のことhttp://localhost:8002/api-docs.json/pet
を行う必要があります。http://localhost:8002/foo/
app.get(/foo/, function(req, res, next) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello Foo\n');
})
サブパス構成を使用するのがおそらく最もクリーンな方法ですが、自分でルートを追跡し、Swagger ルートがアプリの残りのルートと競合していないことを確認することもできます。
于 2013-02-19T03:25:50.180 に答える