原创 使用jQuery獲取下拉菜單項的選定值

對於單個select dom元素,獲取當前選擇的值: $('#dropDownId').val(); 獲取當前選定的文本: $('#dropDownId :selected').text();   您是否爲選擇元素提供了id?

原创 給C#auto屬性一個初始值的最佳方法是什麼?

在C#中,Auto屬性是一種簡單而方便的方式來定義類的屬性。但是,對於Auto屬性的初始值,有幾種不同的方法可以考慮,每種方法都有其優缺點。下面是一些常用的方法: 直接初始化 最簡單的方法是在Auto屬性聲明中直接給定一個初始值。例如:

原创 從數組創建ArrayList

給定Element[]類型的數組: Element[] array = {new Element(1), new Element(2), new Element(3)}; 如何將此數組轉換爲ArrayList<Element>類型的對象?

原创 基於gin的golang web開發:實現用戶登錄

前文分別介紹過了Resty和gin-jwt兩個包,Resty是一個HTTP和REST客戶端,gin-jwt是一個實現了JWT的Gin中間件。本文將使用這兩個包來實現一個簡單的用戶登錄功能。 環境準備 實現登錄功能之前要提前準備一個用於查詢

原创 基於gin的golang web開發:服務間調用

微服務開發中服務間調用的主流方式有兩種HTTP、RPC,HTTP相對來說比較簡單。本文將使用 Resty 包來實現基於HTTP的微服務調用。 Resty簡介 Resty 是一個簡單的HTTP和REST客戶端工具包,簡單是指使用上非常簡單。

原创 基於gin的golang web開發:Gin技術拾遺

本文是對前幾篇文章的一些補充,主要包含兩部分:單元測試和實際項目中使用路由的小問題。 拾遺1:單元測試 Golang單元測試要求代碼文件以_test結尾,單元測試方法以Test開頭,參數爲*testing.T類型。以下是一個計算hash值

原创 基於gin的golang web開發:認證利器jwt

JSON Web Token(JWT)是一種很流行的跨域認證解決方案,JWT基於JSON可以在進行驗證的同時附帶身份信息,對於前後端分離項目很有幫助。 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdW

原创 基於gin的golang web開發:docker

Golang天生適合運行在docker容器中,這得益於:Golang的靜態編譯,當在編譯的時候關閉cgo的時候,可以完全不依賴系統環境。 一些基礎 測試容器時我們經常需要進入容器查看運行情況,以下命令啓動一個centos容器並進入bash

原创 基於gin的golang web開發:永遠不要相信用戶的輸入

作爲後端開發者我們要記住一句話:“永遠不要相信用戶的輸入”,這裏所說的用戶可能是人,也可能是另一個應用程序。“永遠不要相信用戶的輸入”是安全編碼的準則,也就是說,任何輸入的內容在驗證無害之前都是有害的。很多應用程序的安全漏洞都和用戶輸入有

原创 基於gin的golang web開發:集成swagger

在前後端分離的項目維護一份完整且及時更新的api文檔會極大的提高我們的工作效率,傳統項目中接口文檔都是由後端開發手寫的,這種文檔很難保證及時性,久而久之便失去了參考意義。swagger給我們提供了一種新的維護文檔的方式,在gin中只需要編

原创 基於gin的golang web開發:中間件

gin中間件(middleware)提供了類似於面向切面編程或路由攔截器的功能,可以在請求前和請求之後添加一些自定義邏輯。實際開發中有很多場景會用到中間件,例如:權限驗證,緩存,錯誤處理,日誌,事務等。 使用中間件 gin的中間件分爲三類

原创 基於gin的golang web開發:mysql增刪改查

Go語言訪問mysql數據庫需要用到標準庫database/sql和mysql的驅動。標準庫的Api使用比較繁瑣這裏再引入另一個庫github.com/jmoiron/sqlx。 go get github.com/jmoiron/sql

原创 基於gin的golang web開發:使用數據庫事務

在前文介紹訪問數據庫時介紹了github.com/jmoiron/sqlx包,本文基於這個包使用數據庫事務。 defer 在使用數據庫事務之前,首先需要了解go語言的defer關鍵字。defer是go語言的延遲執行語句,defer後面的語

原创 基於gin的golang web開發:訪問mysql數據庫

web開發基本都離不開訪問數據庫,在Gin中使用mysql數據庫需要依賴mysql的驅動。直接使用驅動提供的API就要寫很多樣板代碼。你可以找到很多擴展包這裏介紹的是jmoiron/sqlx。另外還有一個用來處理空值的包guregu/nu

原创 基於gin的golang web開發:模型驗證

Gin除了模型綁定還提供了模型驗證功能。你可以給字段指定特定的規則標籤,如果一個字段用binding:"required"標籤修飾,在綁定時該字段的值爲空,那麼將返回一個錯誤。開發web api的時候大部分參數都是需要驗證的,比如emai