Java輕量級類隔離框架 SOFAArk Project v2.3.0
42.5MB / 01-19
SpringBlade微服務開發(fā)平臺 v4.4.0
197KB / 01-30
Diboot輕代碼開發(fā)平臺 v2.11.0
1.3MB / 07-20
RuoYi-activiti工作流平臺源碼 v4.1
24.79MB / 07-19
RuoYi若依權(quán)限管理系統(tǒng) v4.7.9
4.12MB / 06-28
Java Struts2漏洞復現(xiàn)工具
98KB / 06-26
java操作excel的jar包(jxl.jar包 源碼)
610KB / 06-26
springboot整合QuartJob實現(xiàn)定時器實時管理源代碼
29KB / 06-26
SOFABoot開源框架 v3.24.0
587KB / 08-31
基于SSM的應急資源管理系統(tǒng)源碼 v1.0
80.7MB / 05-25
-
Highcharts(JavaScript圖表庫) v12.2.0 java源碼 / 22.6MB
-
Halo 開源建站工具 v2.20.19 java源碼 / 655KB
-
nginx網(wǎng)頁配置工具 v4.3.0 java源碼 / 4.8MB
-
-
AJ-Report可視化報表工具 v1.6.0 java源碼 / 43.9MB
-
Smart Admin通用型中后臺解決方案 v3.19.0 java源碼 / 6.5MB
-
DataEase數(shù)據(jù)可視化分析工具 v2.10.6 java源碼 / 56.7MB
-
torna接口文檔解決方案 v1.32.0 java源碼 / 3.0MB
-
Java論壇系統(tǒng)巡云輕論壇 v6.7 java源碼 / 59.3MB
-
MaxKey單點登錄認證系統(tǒng) v4.1.7 java源碼 / 55.7MB
詳情介紹
Highcharts是一個制作圖表的純Javascript類庫。
Highcharts主要特性:
1、兼容性:兼容當今所有的瀏覽器,包括iPhone、IE和火狐等等;
2、對個人用戶完全免費;
3、純JS,無BS;
4、支持大部分的圖表類型:直線圖,曲線圖、區(qū)域圖、區(qū)域曲線圖、柱狀圖、餅狀圖、散布圖;
5、跨語言:不管是PHP、Asp.net還是Java都可以使用,它只需要三個文件:一個是Highcharts的核心文件highcharts.js,還有a canvas emulator for IE和Jquery類庫或者MooTools類庫;
6、提示功能:鼠標移動到圖表的某一點上有提示信息;
7、放大功能:選中圖表部分放大,近距離觀察圖表;
8、易用性:無需要特殊的開發(fā)技能,只需要設置一下選項就可以制作適合自己的圖表;
9、時間軸:可以精確到毫秒;
下面我們來演示如何使用elton返回Hello, World!,并且添加了一些常用的中間件
package main import ( "github.com/vicanso/elton" "github.com/vicanso/elton/middleware" ) func main() { e := elton.New() // panic處理 e.Use(middleware.NewRecover()) // 出錯處理 e.Use(middleware.NewDefaultError()) // 默認的請求數(shù)據(jù)解析 e.Use(middleware.NewDefaultBodyParser()) // not modified 304的處理 e.Use(middleware.NewDefaultFresh()) e.Use(middleware.NewDefaultETag()) // 響應數(shù)據(jù)轉(zhuǎn)換為json e.Use(middleware.NewDefaultResponder()) e.GET("/", func(c *elton.Context) error { c.Body = &struct { Message string `json:"message,omitempty"` }{ "Hello, World!", } return nil }) e.GET("/books/{id}", func(c *elton.Context) error { c.Body = &struct { ID string `json:"id,omitempty"` }{ c.Param("id"), } return nil }) e.POST("/login", func(c *elton.Context) error { c.SetContentTypeByExt(".json") c.Body = c.RequestBody return nil }) err := e.ListenAndServe(":3000") if err != nil { panic(err) } }
go run main.go
之后在瀏覽器中打開http://localhost:3000/則能看到返回的Hello, World!。
路由
elton每個路由可以添加多個中間件處理函數(shù),根據(jù)路由與及HTTP請求方法指定不同的路由處理函數(shù)。而全局的中間件則可通過Use方法來添加。
e.Use(...func(*elton.Context) error) e.Method(path string, ...func(*elton.Context) error)
e 為elton實例化對象
Method 為HTTP的請求方法,如:GET, PUT, POST等等
path 為HTTP路由路徑
func(*elton.Context) error 為路由處理函數(shù)(中間件),當匹配的路由被請求時,對應的處理函數(shù)則會被調(diào)用
路由示例
elton的路由使用chi的路由簡化而來,下面是兩個簡單的示例。
// 帶參數(shù)路由 e.GET("/users/{type}", func(c *elton.Context) error { c.BodyBuffer = bytes.NewBufferString(c.Param("type")) return nil }) // 復合參數(shù) e.GET("/books/{category:[a-z-]+}-{type}", func(c *elton.Context) error { c.BodyBuffer = bytes.NewBufferString(c.Param("category") + c.Param("type")) return nil }) // 帶中間件的路由配置 e.GET("/users/me", func(c *elton.Context) error { c.Set("account", "tree.xie") return c.Next() }, func(c *elton.Context) error { c.BodyBuffer = bytes.NewBufferString(c.GetString("account")) return nil })
中間件
簡單方便的中間件機制,依賴各類定制的中間件,通過各類中間件的組合,方便快捷實現(xiàn)各類HTTP服務,簡單介紹數(shù)據(jù)響應與出錯處理的中間件。需要注意,elton中默認不會執(zhí)行所有的中間件,每個中間件決定是否需要執(zhí)行后續(xù)處理,如果需要則調(diào)用Next()函數(shù),與gin不一樣(gin默認為執(zhí)行所有,若不希望執(zhí)行后續(xù)的中間件,則調(diào)用Abort)。
responder
HTTP請求響應數(shù)據(jù)時,需要將數(shù)據(jù)轉(zhuǎn)換為Buffer返回,而在應用時響應數(shù)據(jù)一般為各類的struct或map等結(jié)構(gòu)化數(shù)據(jù),因此elton提供了Body(interface{})字段來保存這些數(shù)據(jù),再使用自定義的中間件將數(shù)據(jù)轉(zhuǎn)換為對應的字節(jié)數(shù)據(jù),elton-responder提供了將struct(map)轉(zhuǎn)換為json字節(jié)并設置對應的Content-Type,對于string([]byte)則直接輸出。
package main import ( "github.com/vicanso/elton" "github.com/vicanso/elton/middleware" ) func main() { e := elton.New() // 對響應數(shù)據(jù) c.Body 轉(zhuǎn)換為相應的json響應 e.Use(middleware.NewDefaultResponder()) getSession := func(c *elton.Context) error { c.Set("account", "tree.xie") return c.Next() } e.GET("/users/me", getSession, func(c *elton.Context) (err error) { c.Body = &struct { Name string `json:"name"` Type string `json:"type"` }{ c.GetString("account"), "vip", } return }) err := e.ListenAndServe(":3000") if err != nil { panic(err) } }
error
當請求處理失敗時,直接返回error則可,elton從error中獲取出錯信息并輸出。默認的出錯處理并不適合實際應用場景,建議使用自定義出錯類配合中間件,便于統(tǒng)一的錯誤處理,程序監(jiān)控,下面是引入錯誤中間件將出錯轉(zhuǎn)換為json形式的響應。
package main import ( "github.com/vicanso/elton" "github.com/vicanso/elton/middleware" "github.com/vicanso/hes" ) func main() { e := elton.New() // 指定出錯以json的形式返回 e.Use(middleware.NewError(middleware.ErrorConfig{ ResponseType: "json", })) e.GET("/", func(c *elton.Context) (err error) { err = &hes.Error{ StatusCode: 400, Category: "users", Message: "出錯啦", } return }) err := e.ListenAndServe(":3000") if err != nil { panic(err) } }
下載地址
人氣源碼
若依后臺管理系統(tǒng) RuoYi v4.7.8
CryptoJS加密庫(crypto.js) v4.2.0
JetLinks開源物聯(lián)網(wǎng)平臺源碼 v2.2.0
Jeepay開源支付系統(tǒng) v2.4.0
JSH_ERP 開源版J2EE進銷存系統(tǒng)代碼源碼 v1.0.2
QQ 聊天機器人小薇(XiaoV) v2.2.2
ECharts JavaScript圖表庫 v5.6.0
因酷時代(inxedu)在線教育系統(tǒng) V2.0.6
Javashop B2C開源電商系統(tǒng) v6.3.2
iBizEAM開源設備資產(chǎn)管理系統(tǒng)源碼 v1.0
相關文章
-
Java輕量級類隔離框架 SOFAArk Project v2.3.0
SOFAArk 是一款基于 Java 實現(xiàn)的動態(tài)熱部署和輕量級類隔離框架,由螞蟻集團開源貢獻,主要提供應用模塊的動態(tài)熱部署和類隔離能力。歡迎需要的朋友下載使用...
-
SpringBlade微服務開發(fā)平臺 v4.4.0
SpringBlade 是一個由商業(yè)級項目升級優(yōu)化而來的SpringCloud分布式微服務架構(gòu)、SpringBoot單體式微服務架構(gòu)并存的綜合型項目,采用Java8 API重構(gòu)了業(yè)務代碼,完全遵循阿里巴...
-
Diboot輕代碼開發(fā)平臺 v2.11.0
Diboot輕代碼開發(fā)平臺是一個面向開發(fā)人員的低代碼開發(fā)平臺,將重復性的工作自動化,提高質(zhì)量、效率、可維護性...
-
RuoYi-activiti工作流平臺源碼 v4.1
RuoYi-activiti是一款以若依開源權(quán)限管理系統(tǒng)為基礎開發(fā)平臺并集成了activiti框架完成的工作流系統(tǒng),旨在打造集流程設計、流程部署、流程執(zhí)行、任務辦理、流程監(jiān)控于一體的...
-
RuoYi若依權(quán)限管理系統(tǒng) v4.7.9
RuoYi若依權(quán)限管理系統(tǒng)是一個基于SpringBoot的權(quán)限管理系統(tǒng),代碼易讀易懂、界面簡潔美觀, 核心技術采用Spring、MyBatis、Shiro沒有任何其它重度依賴,喜歡的朋友快來下載...
-
Java Struts2漏洞復現(xiàn)工具
今天給大家分享Java Struts2漏洞復現(xiàn)工具,喜歡的朋友快來下載體驗吧...
-
java操作excel的jar包(jxl.jar包 源碼)
jxl.jar是通過java操作excel表格的工具類庫,能夠修飾單元格屬性,是由java語言開發(fā)而成的,接下來通過本文給大家介紹java操作excel的jar包(jxl.jar包 源碼),喜歡的朋友快...
-
springboot整合QuartJob實現(xiàn)定時器實時管理源代碼
Quartz是一個完全由java編寫的開源作業(yè)調(diào)度框架,形式簡易,功能強大,,下面給大家分享springboot整合QuartJob實現(xiàn)定時器實時管理源代碼,感興趣的朋友快來下載體驗吧...
-
SOFABoot開源框架 v3.24.0
SOFABoot 是螞蟻集團開源的基于 Spring Boot 的研發(fā)框架,它在 Spring Boot 的基礎上,提供了諸如 Readiness Check,上下文隔離,類隔離,日志空間隔離等等能力...
-
基于SSM的應急資源管理系統(tǒng)源碼 v1.0
應急資源管理系統(tǒng)用的是是比較流行的SSM和前端JSP技術,用它來創(chuàng)建使用腳本語言,結(jié)合HTML代碼來制作動態(tài) 網(wǎng)頁,歡迎需要的朋友下載使用...
下載聲明
☉ 解壓密碼:www.dbjr.com.cn 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
☉ 如果這個軟件總是不能下載的請在評論中留言,我們會盡快修復,謝謝!
☉ 下載本站資源,如果服務器暫不能下載請過一段時間重試!或者多試試幾個下載地址
☉ 如果遇到什么問題,請評論留言,我們定會解決問題,謝謝大家支持!
☉ 本站提供的一些商業(yè)軟件是供學習研究之用,如用于商業(yè)用途,請購買正版。
☉ 本站提供的Highcharts(JavaScript圖表庫) v12.2.0資源來源互聯(lián)網(wǎng),版權(quán)歸該下載資源的合法擁有者所有。