[解決済み] asp .net CORE / MVC 6 アプリで Swagger を設定すると 500 エラーが発生する。
質問
新しい asp .net CORE / MVC 6 プロジェクトで基本的な swagger API ドキュメントをセットアップしようとしていますが、swagger UI から 500 エラーを受け取りました。
500 : http://localhost:4405/swagger/v1/swagger.json
私のスタートアップクラスには、次のコードがあります。
using Swashbuckle.SwaggerGen;
using Swashbuckle.SwaggerGen.XmlComments;
using Swashbuckle.Application;
....
public void ConfigureServices(IServiceCollection services)
{
...
services.AddSwaggerGen();
services.ConfigureSwaggerDocument(options =>
{
options.SingleApiVersion(new Info
{
Version = "v1",
Title = "Blog Test Api",
Description = "A test API for this blogpost"
});
});
}
と入力し、「Configure」で
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
....
app.UseSwaggerGen();
app.UseSwaggerUi();
....
}
ビルドして実行すると、swagger/UI/index.htmlにアクセスするとUIは表示されるのですが、上記の500エラーが表示されます。swagger/v1/swagger.jsonのリンクに行くと、consoleに以下の500エラーが表示されます。
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
500の根本的な原因を把握する方法、またはこのエラーをスローしている理由を把握するためにswaggerで追加のデバッグを有効にする方法はありますか?私が見たいくつかのチュートリアルに基づき、私がスタートアップで持っているものだけが基本的な実装に必要です。私は追加の情報を提供することができれば、私に知らせてください。
EDIT: これはrc1用で、現在出ている新しいnetcore 1.0には関係ないかもしれません(2016/6/29)
どのように解決するのですか?
最初は私も500エラーになりました。スタックトレースの奥の方に書いてありました。 System.NotSupportedException: パス 'api/hotels' の HTTP 動詞が未束縛です。HttpMethodAttributeが足りないのでしょうか?
私の API メソッドの 1 つに HttpGet 属性がないことが判明しました。
[Microsoft.AspNetCore.Mvc.HttpGet]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン