前提:
最近,有不少同學又問到,Aries里如何提供WebAPI接口?
針對這個問題,今天給順路寫個教程,其實呢,很簡單的。
方式一:直接用WebService提供接口。
用這種方式,直接添加接口就可以了,Aries只是默認處理了.html后綴的請求。對於WS的asmx后綴是沒有影響的,所以傳統怎么添加就怎么添加。
方式二:單獨用Taurus.MVC寫一個接口項目。
用這種方式,就是把接口獨立成一個項目,然后通過IIS部署成子應用程序就可以了。
只是部署成子應用程序的時候,需要注意一下子目錄和根目錄的web.config,出現重復的只能留根目錄的那個。
(一般都會建議用戶用這種方式,好處是可以在IIS里學會一下怎么部署子應用程序。)
方式三:在Aries引入Taurus.MVC即可。
這個方式,其實也很簡單,下面介紹一下簡單的部署:
1、引用Taurus.MVC用於寫WebAPI:
在Web.UI項目添加引用Taurus.Core.dll(可以在Nuget上引用,也可以引用源碼項目再引用項目)
2、配置Taurus.MVC的兩個必備項:
A、在HttpModule中添加URL攔截。
//這是原來有的: <add name="Aries.Core" type="Aries.Core.UrlRewrite,Aries.Core" /> //這是新添加的: <add name="Taurus.Core" type="Taurus.Core.UrlRewrite,Taurus.Core"/>
B、在AppSetting中設置路徑模式:
<!--配置模式【值為0,1或2】[默認為1] 值為0:匹配{Action}/{Para} 值為1:匹配{Controller}/{Action}/{Para} 值為2:匹配{Module}/{Controller}/{Action}/{Para}--> <add key="Taurus.RouteMode" value="1"/>
C、在AppSetting中設置接口代碼所在的項目:
<!--指定控制器所在的項目(Dll)名稱(可改,項目編繹的dll叫什么名就寫什么) <add key="Taurus.Controllers" value="Taurus.Controllers"/>-->
如果是用Nuget上引用的,默認都會有上面的兩個,其它默認生的,可以注釋掉。
3、開始寫應用接口代碼:
接口代碼寫在哪里呢?放在哪個項目都可以,只要上面C點的配置指向就可以了,如果接口代碼分散在多個項目中,配置的value可以用“逗號”分隔。
按Taurus.MVC的方式寫接口,繼承自Taurus.Core.Controller即可:
如:
/// <summary> /// API 接口 /// </summary> public class APIController : Taurus.Core.Controller { public void Hello() { Write("hello Controllers.API"); } }
接口訪問:http://.../api/hello
總結說明:
Aries中默認處理的是.html后綴。
Taurus默認處理的是無后綴。
所以兩者並無沖突,直接引用,加配置就可以了,沒你想的復雜。