天天看點

RESTFull風格的.NET Core微服務前後端分離架構實作之二(後端實作)

這裡需要說明一下,前端實作部分,請參考我的另外一篇文章。

基于REST風格的前後端分離的Web服務架構的.NET Framework實作第3講《前端實作篇》

https://blog.csdn.net/leochen0207/article/details/89496203

由于建立的項目裡面包含靜态内容的wwwroot檔案夾,這點和Spring Boot的微服務實作方式幾乎一緻,是以我隻是把幾個用來做測試的前端靜态内容檔案複制到這個檔案夾裡面。

接下來,實作後端的CRUD,也就是增删查改功能。我這裡還是以使用者資訊為例。

第一,在資料庫中建立User使用者表

下圖所示的是建表語句

RESTFull風格的.NET Core微服務前後端分離架構實作之二(後端實作)

第二,實作Models資料通路層

建立User類,直接上代碼。

RESTFull風格的.NET Core微服務前後端分離架構實作之二(後端實作)

這裡需要注意,[Table("User")]是注解,這和Java基本類似,代表的是資料庫的表名,這個需要先在資料庫中建表,也就是說,需要先有資料庫的表。[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]也是注解,代表的是id是主鍵,并且是通過自增長方式來實作的。

然後建立資料通路上下文YpobDBContent對象。

RESTFull風格的.NET Core微服務前後端分離架構實作之二(後端實作)

最後,還需要配置兩個地方,第一個是appsettings.json,如下圖所示。

RESTFull風格的.NET Core微服務前後端分離架構實作之二(後端實作)

這裡主要是加入了SqlServerConnection資料庫連接配接字元串。第二個是Startup.cs,如下圖所示。

RESTFull風格的.NET Core微服務前後端分離架構實作之二(後端實作)

第三,實作Repositories業務邏輯層

建立UserRepository類,直接上代碼。

RESTFull風格的.NET Core微服務前後端分離架構實作之二(後端實作)

這裡需要注意,資料通路層在這裡是通過構造函數的方式注入進來的。這裡我查閱了很多資料,才把業務邏輯層和資料通路層分開了,也算是對架構的一個貢獻吧。

具體代碼就不展開了,需要看源代碼的,可以到GitHub上下載下傳來對照着看。

第四,實作UserController

右鍵Controllers檔案夾->添加->控制器,選擇箭頭所指的部分,添加。

RESTFull風格的.NET Core微服務前後端分離架構實作之二(後端實作)

輸入UserController,添加。

RESTFull風格的.NET Core微服務前後端分離架構實作之二(後端實作)

源代碼如下圖所示。

RESTFull風格的.NET Core微服務前後端分離架構實作之二(後端實作)

這裡需要注意,資料通路層同樣是通過Controller的構造函數注入給業務邏輯層的,這是微軟官方文檔中的主要實作方式。然後路由這裡我改動了一下,就是還需要在路由中加入action。這樣做的好處是,可以指定具體的action來提供給前端使用。這也是我在正式項目中主要使用的方式。

另外,如果不想通路預設路由的話,那還需要對launchSettings.json進行修改,如下圖所示。

RESTFull風格的.NET Core微服務前後端分離架構實作之二(後端實作)

最後,要想實作前端靜态内容的通路的話,還需要修改Startup.cs,如下圖所示。

RESTFull風格的.NET Core微服務前後端分離架構實作之二(後端實作)

到此為止,後端的核心代碼就算是實作完成了。下圖是項目的結構。

RESTFull風格的.NET Core微服務前後端分離架構實作之二(後端實作)

下一篇文章,我會具體測試一下程式是否正常,是否符合要求,這也算是符合測試驅動開發TDD的思想吧。

繼續閱讀