C#
Controller
一般在網頁呼叫最常使用的就是Get和Post
但API的Controller預設就是一組,再加上多載機制
如果需要呼叫的功能很多是必須要建立很多實體XXXController.cs檔案
或使用參數控制後端程式讀取(對輸入輸出Model是個負擔)
所以才會想要修改讀取的方法
//App_Start\WebApiConfig.cs 需擴充原本API的模式
//--加入程式碼--開始--
string logInOutA = "LogIn|LogOut";
string managementA = "|EnterpriseAdd|EnterpriseUpdate";
config.Routes.MapHttpRoute(
name: "TransApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional },
constraints: new { action = logInOutA + managementA });
//--加入程式碼--結束--
//當上方自訂模式查無資料時,在使用預設模式
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
//controllers\TestController.cs
namespace Api.Controllers
{
public class TestController : ApiController
{
[HttpPost]
[ActionName("EnterpriseAdd")] //這裡名稱要和上方依樣
public string EnterpriseAddXXOO(string Data)
{
return Data;
}
[HttpPost]
[ActionName("LogIn")]
public string LogInXXOO(string Data)
{
return Data;
}
}
}
備註:可能會影響一點效能,不確定影響有多少
以API來說這是非標準做法,有類似需求的朋友,請小心使用!
我只是一棵樹