2017-09-13 16 views
0

サービスインタフェースをHttp Verb Attributesでデコレートしましたが、機能しません。 すべてのメソッドはPost動詞として扱われます。HTTP動詞属性が機能していません

私はAspNetCore 1.1を使用していますし、ABPは干渉しない、アプリケーション・サービス・クラスにこれらの属性を追加し、ASPNETコア用の2.3.0

public interface ISettlementAppService : IApplicationService 
{ 
    Task<PagedResultDto<SettlementListDto>> GetPaged(GetSettlementInput input); 

    [HttpDelete] 
    Task Cancel(EntityDto<string> input); 
} 
+0

あなたは**?あなたがHTTPGET、HttpPutまたはHttpDeleteとコントローラであなたの行動を装飾され、それらのすべてが、まだHttpPostとして扱われる意味ですかあなたがなどGetMethod、PutMethod、としてあなたの行動を命名したことがありますか?** あなたのコードを質問に入れてください –

+0

私はコントローラを使用していません。私は、アプリケーションサービスと動的webapiを使用しています。このドキュメント[https://aspnetboilerplate.com/Pages/Documents/Dynamic-Web-API](https://aspnetboilerplate.com/Pages/Documents/Dynamic-Web-API)によると、それはインターフェイスを装飾することによってのみ動作するはずですメソッド。 しかし、私は、具体的なクラスのメソッドが装飾されている場合にのみ動作することがわかります。多分これはバグでなければならない、わからない。 –

答えて

1

このようにしてください。

public class SettlementAppService : ISettlementAppService 
{ 

    [HttpDelete] 
    Task Cancel(EntityDto<string> input){ 
     //... 
    } 
} 
2

をパッケージ化します。 AspNet Core MVC(ABPではなく)によって処理され、インターフェイスについてはわからないためです。

注:文書(https://aspnetboilerplate.com/Pages/Documents/AspNet-Core#controllers)から

以前は、動的ウェブAPIシステムは、アプリケーションサービスのためのサービス・インターフェースを作成するために必要としました。しかし、これはASP.NET Coreの統合には必要ありません。また、インタフェースを持っていても、MVC属性をサービスクラスに追加する必要があります。

関連する問題