ABP (ASP.NET Boilerplate) 應用程式開發框架 新手教學 No.7 建立WebApi
ABP (ASP.NET Boilerplate) 應用程式開發框架 新手教學 No.0 索引
ABP可以自動以應用服務產生WebApi
關於WebApi設定的部分ABP預設已經會自動將public的service做成WebApi
預設是用Post呼叫,這邊一方面方便測試,另一方面稍微示範一下怎樣改成Get呼叫
WebApi設定位於 MyCompany.MyProject.WebApi\Api\MyProjectWebApiModule.cs
using System.Reflection;
using System.Web.Http;
using Abp.Application.Services;
using Abp.Configuration.Startup;
using Abp.Modules;
using Abp.WebApi;
using Abp.WebApi.Controllers.Dynamic.Builders;
using Abp.Web;
namespace MyCompany.MyProject.Api
{
[DependsOn(typeof(AbpWebApiModule), typeof(MyProjectApplicationModule))]
public class MyProjectWebApiModule : AbpModule
{
public override void Initialize()
{
IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());
//http://localhost/api/services/app/player/getPlayers
DynamicApiControllerBuilder
.ForAll<IApplicationService>(typeof(MyProjectApplicationModule).Assembly, "app")
.ForMethods(builder =>
{
builder.Verb = HttpVerb.Get;
})
.Build();
Configuration.Modules.AbpWebApi().HttpConfiguration.Filters.Add(new HostAuthenticationFilter("Bearer"));
}
}
}
這邊我在DynamicApiControllerBuilder的.ForAll與.Build();之間加上了.ForMethods片段程式碼
.ForMethods(builder =>
{
builder.Verb = HttpVerb.Get;
})
用HttpVerb.Get指定以Get方式呼叫,如此一來我們就可以直接在執行程式在瀏覽器上以網址方式測試WebApi
http://localhost/api/services/app/player/getPlayers
執行後開啟以上網址即可呼叫我們先前完成的Service (有port請自行加上)
下一篇
ABP (ASP.NET Boilerplate) 應用程式開發框架 新手教學 No.8 單元測試
參照