ASP.NET MVC是透過網址的路由來定義拜訪

網址路由(Routing),全部頁面被  /App_Start/RouteConfig.cs 導向(當然可以自己定義路由), MVC的Controllers與WebApi分別是用以下兩個檔案控制:

/App_Start/RouteConfig.cs
/App_Start/WebApiConfig.cs

可能會有困惑,以上兩者的差異為{action},那WebApi到底要不要有Aciton比較好呢?其實JSON原理是用不同的傳輸協定去Call不同的方法,例如Get、Post、Put,沒有{action}是符合設計原理的,但是有時候這樣又不太好用,那到底要不要改掉WebApiConfig.cs呢?

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );

建議是兩個預設Routing都不要改,因為真正再撰寫的時候可以強迫指定拉,根本不用改預設喔。

[Route("api/test/getTestDataById")]
[Route("api/test/getTestDataById/{testId}")]
[HttpGet]
public List<Test> getTestDataById(string testId)
{
	List<Test> testList = new List<Test>();
	return GetTestDataDao(testList, testId, null, null);
}

有個很重要的觀念,如果回傳的JSON只是單筆資料,那可以回傳Dictionary就打完收工了,但是如果是多筆資料,那個就要建立該物件的Class,例如上例是Test,回傳用List組合該物件,那麼就會自動組好JSON資料,Test物件範例如下:

public class Test
{
	public string testId { get; set; }
	public string testName { get; set; }
}

More From Forest Beat

冬の前田森林公園のフリ

在Linux中列出目錄的空間使用大小

列出檔案大小的指令是ls,但是這個指令列出的目錄大小是固定的,又不能自動加總,所以想要知道/home/下各個使用者用了多少檔案空間,那可以參考以下指令
技術
0
minutes
高層ビルのフリー写真素材

Windows 10中的小算盤不見了?

如題小算盤不見了怎麼辦?其實很簡單,搜尋商店,然後輸入關鍵字,安裝一下就可以~~~
技術
0
minutes
桜のフリ

Top 20 Best Programming Languages To Learn in 2024

IT小菜雞必需掌握一種以上的程式語言,因為程式語言是實現軟體解決方案的工具。
技術
0
minutes
サクラのフリ

快速了解MVC、MVP、MVVM、MVI架構的演進

MVC、MVP、MVVM、MVI 都是軟體架構模式,用來組織和管理程式碼,提高程式碼的可讀性、可維護性和可擴展性。
技術
0
minutes
spot_imgspot_img