Angularjs,WebAPI 搭建一個簡易權限管理系統 —— WebAPI項目主體結構(四)


目錄

5.0 WebAPI項目主體結構

5.1 總體結構

架構圖:

項目結構圖

項目使用分層架構,Web層依賴Interfaces存儲接口,Service是接口的唯一實現類庫,使用 Castle Windsor 實現服務 "Service"注入。
模型包含存儲模型(Models)和系統模型(ViewModels).
Core.Web是對Web層的擴展,包含MVC和API控制器基類。

顯示層

  • Web應用程序

內核部分

  • 公共類庫(Yiim.Common)
  • Web擴展實現(Yiim.Core.Web)

應用層:

  • 存儲接口層(Yiim.Interfaces)
  • 存儲和存儲模型(Yiim.Models)
  • 存儲實現成(Yiim.Service)
  • 系統模型(Yiim.ViewModels)

5.2 創建解決方案

創建解決方案“Yiim.UserManagement”:

解決方案完成后效果:

5.3 添加Web層項目

顯示層 包含.NET MVC,WebAPI兩個部分。
.NET MVC主要返回主頁面,控制angularjs 的部分視圖的輸出。
WebAPI主要返回JSON 數據

項目目標我們選擇 "ASP.NET MVC 4 Web Application",因為此項目模板已經集成了 MVC 和 API.

項目類型記得選擇為 "WebAPI",

創建完成后項目應該是這樣的。

但是有些東西我們不需要。刪除我們不需要的東西后Yiim.Web項目的最終效果

刪除了部分文件和文件夾,並添加 "App" 這個文件夾。"App" 主要用於存放angularjs,jQuery,css,image 等前端資源文件。

5.4 所有項目創基完畢后

其他類庫我們就不在敘述了,按照普通的添加類庫即可,項目最終呈現出來的結果是這樣的。
解決方案

5.4 WebAPI 輸出類型

WebAPI 返回給瀏覽器的都是JSON數據,如果我們僅僅只返回集合(List),模型(Model)。顯然不能滿足我們的需求。還需定義返回的狀態,錯誤信息。輸出方式分別對應http協議動作 “DELETE”,"GET","POST","PUT".的輸出類型。
其中Get有兩個輸出類型:單模型輸出(GetResult)和集合模型(GetsResult)輸出.
放一張整個WebAPI的輸出類型類圖:

把定義的輸出類型放到 系統模型(Yiim.ViewModels)中


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM