Request verb is GET. It should be Post(ABP使用api访问错误)

浏览器访问ABP 的api,会报错

需要改下web项目下配置文件的customErrors属性,<customErrors mode="On" />改为<customErrors mode="RemoteOnly" />即可显示错误信息

 

这个地方看了很多帖子都没有写到,难道他们都没遇到吗?

在一片外文技术帖子找到解决方法,这里记录下 

WithVerb 方法

Configuration.Modules.AbpWebApi().DynamicApiControllerBuilder
    .For<ITaskAppService>("tasksystem/task")
    .ForMethod("GetTasks").WithVerb(HttpVerb.Get)
    .Build();

http属性标识(我用这个)

public interface ITaskAppService : IApplicationService
    {
        [HttpGet]
        Task<ListResultDto<TaskListDto>> GetTaskList();

        //[HttpGet]
        ListResultDto<TaskListDto> GetTasks();
    }

HttpGet需要Application项目在NuGet管理器中添加Microsoft.AspNet.WebApi.Core包

重新生成访问即可

原文地址:https://www.cnblogs.com/flywei/p/6490477.html