使用Abp 3.8.2,在我的Abp.Application项目中构建一个必须为GET的方法。文档说使用[HttpGet],但是这样做需要我将Microsoft.AspnetCore.Mvc添加到项目中。
一旦我这样做,我的构建就会开始获得
C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Community \ MSBuild \ 15.0 \ Bin \ Microsoft.Common.CurrentVersion.targets(2106,5):警告MSB3277:在不同版本的“ Microsoft之间发现冲突.Extensions.DependencyModel”无法解决。将日志详细程度设置为“详细”时,这些参考冲突会在构建日志中列出。
我正在使用建议的导入方式,但是您认为Abp想要不同的东西吗?
它仍然是一个非常基本的应用程序,并且我还没有包含其他任何可能导致碰撞的内容:
有什么想法吗?
答案 0 :(得分:0)
默认情况下,所有方法均作为POST创建。我们可以通过 WithVerb方法
更改此行为我们可以使用 WithVerb 这样的方法:
Configuration.Modules.AbpWebApi().DynamicApiControllerBuilder
.For<ITaskAppService>("tasksystem/task")
.ForMethod("GetTasks").WithVerb(HttpVerb.Get)
.Build();
请参见https://aspnetboilerplate.com/Pages/Documents/Dynamic-Web-API#http-verbs
此外,您可以使用WithConventionalVerbs方法,而不是为每个方法声明HTTP属性,如下所示:
Configuration.Modules.AbpWebApi().DynamicApiControllerBuilder
.ForAll<IApplicationService>(Assembly.GetAssembly(typeof(SimpleTaskSystemApplicationModule)), "tasksystem")
.WithConventionalVerbs()
.Build();