Gin框架 - 項目目錄

来源:https://www.cnblogs.com/it-3327/archive/2019/11/10/11828612.html
-Advertisement-
Play Games

概述 今天給大家分享,在 API 端使用 Gin 框架時,項目的目錄。目錄 ├─ Project Name │ ├─ config //配置文件 │ ├── ... │ ├─ controller //控制器層 │ ├── ... │ ├─ service //業務層 │ ├── ... │ ├─ ...


概述



今天給大家分享,在 API 端使用 Gin 框架時,項目的目錄。

目錄

  

 ├─ Project Name    
    │  ├─ config          //配置文件    
    │     ├── ...    
    │  ├─ controller      //控制器層    
    │     ├── ...    
    │  ├─ service         //業務層    
    │     ├── ...    
    │  ├─ repository      //資料庫操作層    
    │     ├── ...    
    │  ├─ model           //資料庫ORM    
    │     ├── ...    
    │  ├─ entity          //實體    
    │     ├── ...    
    │  ├─ proto           //proto文件    
    │     ├── ...    
    │  ├─ router          //路由    
    │     ├── middleware  //路由中間件    
    │         ├── ...    
    │     ├── ...    
    │  ├─ util            //工具類    
    │     ├── ...    
    │  ├─ vendor          //擴展包    
    │     ├── ...    
    │  ├─ main.go         //入口文件

 



接下來,簡單解釋下:

config

寫項目的配置文件。

controller

控制器層,驗證提交的數據,將驗證完成的數據傳遞給 service。

service

業務層,只完成業務邏輯的開發,不進行操作資料庫。

repository

資料庫操作層,比如寫,多表插入,多表查詢等,不寫業務代碼。

model

資料庫的ORM。

entity

寫返回數據的結構體。

寫 controller 層方法參數驗證的結構體。

proto

寫 gRPC 的 *.pb.go 文件。

router

寫路由配置及路由的中間件(鑒權、日誌、異常捕獲)。

util

寫項目通用工具類。

vendor

第三方擴展包存放的目錄。

小結

涉及到的一些代碼,我需要整理下,下次再和大家分享。

不說了,我要搬磚了。




您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本來用的是網易雲的外鏈,後來發現APlayer就換成這個播放器組件了 在 頁腳 HTML 代碼 中插入以下代碼就行了 1 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/APlayer.min ...
  • css,對包含有子元素的元素進行flex後,會影響原有的佈局。如何後續處理 ...
  • 今天再寫項目的時候, 有一個手動添加行的功能,使用的是jqgrid的addRowData方法添加數據。但是在我們切換標簽頁的時候,再次添加行,調用這個方法的時候,報錯了。錯誤信息如下 然後經過自己的反覆測試發現是這樣的,當我們切換到第二個標簽頁的時候,頁面上是沒有數據的,調用addRowData的方 ...
  • setInterval定時器解決request非同步: view溢出橫向滑動顯示: 跳轉傳參+返回傳參: ...
  • 由 楊柳依 創建於2019年11月3日,最近更新於2019年11月8日 參考資料: "大話設計模式" | "圖解設計模式" | "菜鳥教程—設計模式" UML類圖 【矩形框】代表一個類(Class)。類圖分三層: 第一層顯示類的名稱,如果是抽象類,則就用斜體顯示; 第二層是類的特性,通常就是欄位和屬 ...
  • 雖然之前已經學了2個月python,但仍然感覺學的很亂,沒有系統性;或者說自學的沒有條例,只是追求進度,沒有保證知識點的全面與準確。 從今天開始,從python的基礎變數開始重新整理知識點,梳理忽略的內容。願所學即所會,所會即能用。 1、變數名遵循的規則 只能包含字母、數字和下劃線。需要以字母或下劃 ...
  • 一、概述二、Struts2 快速入門程式2.1 開發流程比較2.2 引入依賴2.2 創建jsp頁面2.3 在web.xml中配置前端控制器2.4 創建struts.xml配置文件2.4 創建一個HelloAction類2.5 在struts.xml文件中配置HelloAction2.6 在index... ...
  • 手寫SpringMVC框架 細嗅薔薇 心有猛虎 背景:Spring 想必大家都聽說過,可能現在更多流行的是Spring Boot 和Spring Cloud 框架;但是SpringMVC 作為一款實現了MVC 設計模式的web (表現層) 層框架,其高開發效率和高性能也是現在很多公司仍在採用的框架; ...
一周排行
    -Advertisement-
    Play Games
  • 概述:本文代碼示例演示瞭如何在WPF中使用LiveCharts庫創建動態條形圖。通過創建數據模型、ViewModel和在XAML中使用`CartesianChart`控制項,你可以輕鬆實現圖表的數據綁定和動態更新。我將通過清晰的步驟指南包括詳細的中文註釋,幫助你快速理解並應用這一功能。 先上效果: 在 ...
  • openGauss(GaussDB ) openGauss是一款全面友好開放,攜手伙伴共同打造的企業級開源關係型資料庫。openGauss採用木蘭寬鬆許可證v2發行,提供面向多核架構的極致性能、全鏈路的業務、數據安全、基於AI的調優和高效運維的能力。openGauss深度融合華為在資料庫領域多年的研 ...
  • openGauss(GaussDB ) openGauss是一款全面友好開放,攜手伙伴共同打造的企業級開源關係型資料庫。openGauss採用木蘭寬鬆許可證v2發行,提供面向多核架構的極致性能、全鏈路的業務、數據安全、基於AI的調優和高效運維的能力。openGauss深度融合華為在資料庫領域多年的研 ...
  • 概述:本示例演示了在WPF應用程式中實現多語言支持的詳細步驟。通過資源字典和數據綁定,以及使用語言管理器類,應用程式能夠在運行時動態切換語言。這種方法使得多語言支持更加靈活,便於維護,同時提供清晰的代碼結構。 在WPF中實現多語言的一種常見方法是使用資源字典和數據綁定。以下是一個詳細的步驟和示例源代 ...
  • 描述(做一個簡單的記錄): 事件(event)的本質是一個委托;(聲明一個事件: public event TestDelegate eventTest;) 委托(delegate)可以理解為一個符合某種簽名的方法類型;比如:TestDelegate委托的返回數據類型為string,參數為 int和 ...
  • 1、AOT適合場景 Aot適合工具類型的項目使用,優點禁止反編 ,第一次啟動快,業務型項目或者反射多的項目不適合用AOT AOT更新記錄: 實實在在經過實踐的AOT ORM 5.1.4.117 +支持AOT 5.1.4.123 +支持CodeFirst和非同步方法 5.1.4.129-preview1 ...
  • 總說周知,UWP 是運行在沙盒裡面的,所有許可權都有嚴格限制,和沙盒外交互也需要特殊的通道,所以從根本杜絕了 UWP 毒瘤的存在。但是實際上 UWP 只是一個應用模型,本身是沒有什麼許可權管理的,許可權管理全靠 App Container 沙盒控制,如果我們脫離了這個沙盒,UWP 就會放飛自我了。那麼有沒... ...
  • 目錄條款17:讓介面容易被正確使用,不易被誤用(Make interfaces easy to use correctly and hard to use incorrectly)限制類型和值規定能做和不能做的事提供行為一致的介面條款19:設計class猶如設計type(Treat class de ...
  • title: 從零開始:Django項目的創建與配置指南 date: 2024/5/2 18:29:33 updated: 2024/5/2 18:29:33 categories: 後端開發 tags: Django WebDev Python ORM Security Deployment Op ...
  • 1、BOM對象 BOM:Broswer object model,即瀏覽器提供我們開發者在javascript用於操作瀏覽器的對象。 1.1、window對象 視窗方法 // BOM Browser object model 瀏覽器對象模型 // js中最大的一個對象.整個瀏覽器視窗出現的所有東西都 ...