2017-02-16 9 views
1

私はASP.NET Coreアプリケーションを作成しましたが、以下のコントローラメソッドを使用してアイテムを作成するWeb API呼び出しをテストしようとしています。しかし、私はこのページ(https://docs.microsoft.com/en-us/aspnet/core/tutorials/first-web-api)の指示に従っています。このページでは、メソッドをテストするためにPostmanを使用しています。ASP.NET Core APIコールによる郵便配達要求が不正です

[HttpPost] 
[Route("api/asset")] 
public IActionResult Create([FromBody] Asset asset) 
{ 
    if (!ModelState.IsValid) 
    { 
     Response.StatusCode = (int)HttpStatusCode.BadRequest; 
     return null; 
    } 
    AssetItems.Add(asset); 
    return CreatedAtRoute("GetAsset", new { id = asset.Id }, asset); 
} 

しかし、私はポストマンを使用して要求を行うとき、私はエラーを取得する:認証/認可フィルタは、パイプラインを要求するために追加されているかどうかを確認するには

HTTP Error 401.2 - Unauthorized You are not authorized to view this page due to invalid authentication headers.

+0

要求パイプラインに認証/認可フィルタが追加されているかどうかを確認してください。プロジェクトの作成時に使用したプロジェクトテンプレートに基づいて追加されている可能性があります。コントローラは '[Authorize]'属性を持っていますか? – Nkosi

答えて

2

チェック。プロジェクトの作成時に使用したプロジェクトテンプレートに基づいて追加されている可能性があります。

コントローラに[Authorize]属性がある場合は、それを削除するとリクエストが許可されます。

ただし、承認フィルタがグローバルに追加された場合は、そのアクションまたはコントローラの要求を許可するために、アクションまたはコントローラに[AllowAnonymous]属性を追加する必要があります。

[HttpPost] 
[AllowAnonymous] 
[Route("api/asset")] 
public IActionResult Create([FromBody] Asset asset) { ... } 
+0

すべての[Authorize]属性を削除して[AllowAnonymous]を自分の操作に追加しましたが、それでも機能しない場合、同じ結果が得られます。 「このエラーは、Webサーバーに送信されたWWW-Authenticateヘッダーがサーバー構成でサポートされていない場合に発生します。」 – Ray

+0

その後、そのヘッダーは送信されませんでした。それを郵便配達人の要求から削除してください。 – Nkosi

+0

私はヘッダーを削除しようとしましたが、それでも同じ結果が出ました。 – Ray

関連する問題