Http动词属性不起作用

时间:2017-09-13 15:50:50

标签: aspnetboilerplate

我用Http Verb属性修饰了我的服务界面,但是没有用。 每个方法都被视为Post动词。

我使用的是AspNetCore 1.1和Abp软件包2.3.0

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

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

2 个答案:

答案 0 :(得分:3)

对于AspNet Core,将这些属性添加到应用程序服务类,而不是接口。因为它们是由AspNet Core MVC(不是ABP)处理的,并且它不了解接口。

从文档(https://aspnetboilerplate.com/Pages/Documents/AspNet-Core#controllers):

  

注意:以前,动态Web api系统需要为应用程序服务创建服务接口。但这不是ASP.NET Core集成所必需的。此外,MVC属性应该添加到服务类中,即使你有接口。

答案 1 :(得分:1)

这样做;

public class SettlementAppService : ISettlementAppService 
{

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