Java輕量級類隔離框架 SOFAArk Project v2.3.0
42.5MB / 01-19
SpringBlade微服務(wù)開發(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漏洞復(fù)現(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的應(yīng)急資源管理系統(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
-
詳情介紹
Highcharts是一個制作圖表的純Javascript類庫。
Highcharts主要特性:
1、兼容性:兼容當(dāng)今所有的瀏覽器,包括iPhone、IE和火狐等等;
2、對個人用戶完全免費(fèi);
3、純JS,無BS;
4、支持大部分的圖表類型:直線圖,曲線圖、區(qū)域圖、區(qū)域曲線圖、柱狀圖、餅狀圖、散布圖;
5、跨語言:不管是PHP、Asp.net還是Java都可以使用,它只需要三個文件:一個是Highcharts的核心文件highcharts.js,還有a canvas emulator for IE和Jquery類庫或者M(jìn)ooTools類庫;
6、提示功能:鼠標(biāo)移動到圖表的某一點(diǎn)上有提示信息;
7、放大功能:選中圖表部分放大,近距離觀察圖表;
8、易用性:無需要特殊的開發(fā)技能,只需要設(shè)置一下選項就可以制作適合自己的圖表;
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()) // 默認(rèn)的請求數(shù)據(jù)解析 e.Use(middleware.NewDefaultBodyParser()) // not modified 304的處理 e.Use(middleware.NewDefaultFresh()) e.Use(middleware.NewDefaultETag()) // 響應(yīng)數(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ù)(中間件),當(dāng)匹配的路由被請求時,對應(yīng)的處理函數(shù)則會被調(diào)用
路由示例
elton的路由使用chi的路由簡化而來,下面是兩個簡單的示例。
// 帶參數(shù)路由 e.GET("/users/{type}", func(c *elton.Context) error { c.BodyBuffer = bytes.NewBufferString(c.Param("type")) return nil }) // 復(fù)合參數(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 })
中間件
簡單方便的中間件機(jī)制,依賴各類定制的中間件,通過各類中間件的組合,方便快捷實現(xiàn)各類HTTP服務(wù),簡單介紹數(shù)據(jù)響應(yīng)與出錯處理的中間件。需要注意,elton中默認(rèn)不會執(zhí)行所有的中間件,每個中間件決定是否需要執(zhí)行后續(xù)處理,如果需要則調(diào)用Next()函數(shù),與gin不一樣(gin默認(rèn)為執(zhí)行所有,若不希望執(zhí)行后續(xù)的中間件,則調(diào)用Abort)。
responder
HTTP請求響應(yīng)數(shù)據(jù)時,需要將數(shù)據(jù)轉(zhuǎn)換為Buffer返回,而在應(yīng)用時響應(yīng)數(shù)據(jù)一般為各類的struct或map等結(jié)構(gòu)化數(shù)據(jù),因此elton提供了Body(interface{})字段來保存這些數(shù)據(jù),再使用自定義的中間件將數(shù)據(jù)轉(zhuǎn)換為對應(yīng)的字節(jié)數(shù)據(jù),elton-responder提供了將struct(map)轉(zhuǎn)換為json字節(jié)并設(shè)置對應(yīng)的Content-Type,對于string([]byte)則直接輸出。
package main import ( "github.com/vicanso/elton" "github.com/vicanso/elton/middleware" ) func main() { e := elton.New() // 對響應(yīng)數(shù)據(jù) c.Body 轉(zhuǎn)換為相應(yīng)的json響應(yīng) 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
當(dāng)請求處理失敗時,直接返回error則可,elton從error中獲取出錯信息并輸出。默認(rèn)的出錯處理并不適合實際應(yīng)用場景,建議使用自定義出錯類配合中間件,便于統(tǒng)一的錯誤處理,程序監(jiān)控,下面是引入錯誤中間件將出錯轉(zhuǎn)換為json形式的響應(yīng)。
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進(jìn)銷存系統(tǒng)代碼源碼 v1.0.2
QQ 聊天機(jī)器人小薇(XiaoV) v2.2.2
ECharts JavaScript圖表庫 v5.6.0
因酷時代(inxedu)在線教育系統(tǒng) V2.0.6
Javashop B2C開源電商系統(tǒng) v6.3.2
iBizEAM開源設(shè)備資產(chǎn)管理系統(tǒng)源碼 v1.0
相關(guān)文章
-
Java輕量級類隔離框架 SOFAArk Project v2.3.0
SOFAArk 是一款基于 Java 實現(xiàn)的動態(tài)熱部署和輕量級類隔離框架,由螞蟻集團(tuán)開源貢獻(xiàn),主要提供應(yīng)用模塊的動態(tài)熱部署和類隔離能力。歡迎需要的朋友下載使用...
-
SpringBlade微服務(wù)開發(fā)平臺 v4.4.0
SpringBlade 是一個由商業(yè)級項目升級優(yōu)化而來的SpringCloud分布式微服務(wù)架構(gòu)、SpringBoot單體式微服務(wù)架構(gòu)并存的綜合型項目,采用Java8 API重構(gòu)了業(yè)務(wù)代碼,完全遵循阿里巴...
-
Diboot輕代碼開發(fā)平臺 v2.11.0
Diboot輕代碼開發(fā)平臺是一個面向開發(fā)人員的低代碼開發(fā)平臺,將重復(fù)性的工作自動化,提高質(zhì)量、效率、可維護(hù)性...
-
RuoYi-activiti工作流平臺源碼 v4.1
RuoYi-activiti是一款以若依開源權(quán)限管理系統(tǒng)為基礎(chǔ)開發(fā)平臺并集成了activiti框架完成的工作流系統(tǒng),旨在打造集流程設(shè)計、流程部署、流程執(zhí)行、任務(wù)辦理、流程監(jiān)控于一體的...
-
RuoYi若依權(quán)限管理系統(tǒng) v4.7.9
RuoYi若依權(quán)限管理系統(tǒng)是一個基于SpringBoot的權(quán)限管理系統(tǒng),代碼易讀易懂、界面簡潔美觀, 核心技術(shù)采用Spring、MyBatis、Shiro沒有任何其它重度依賴,喜歡的朋友快來下載...
-
Java Struts2漏洞復(fù)現(xiàn)工具
今天給大家分享Java Struts2漏洞復(fù)現(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)度框架,形式簡易,功能強(qiáng)大,,下面給大家分享springboot整合QuartJob實現(xiàn)定時器實時管理源代碼,感興趣的朋友快來下載體驗吧...
-
SOFABoot開源框架 v3.24.0
SOFABoot 是螞蟻集團(tuán)開源的基于 Spring Boot 的研發(fā)框架,它在 Spring Boot 的基礎(chǔ)上,提供了諸如 Readiness Check,上下文隔離,類隔離,日志空間隔離等等能力...
-
基于SSM的應(yīng)急資源管理系統(tǒng)源碼 v1.0
應(yīng)急資源管理系統(tǒng)用的是是比較流行的SSM和前端JSP技術(shù),用它來創(chuàng)建使用腳本語言,結(jié)合HTML代碼來制作動態(tài) 網(wǎng)頁,歡迎需要的朋友下載使用...
下載聲明
☉ 解壓密碼:chabaoo.cn 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
☉ 如果這個軟件總是不能下載的請在評論中留言,我們會盡快修復(fù),謝謝!
☉ 下載本站資源,如果服務(wù)器暫不能下載請過一段時間重試!或者多試試幾個下載地址
☉ 如果遇到什么問題,請評論留言,我們定會解決問題,謝謝大家支持!
☉ 本站提供的一些商業(yè)軟件是供學(xué)習(xí)研究之用,如用于商業(yè)用途,請購買正版。
☉ 本站提供的Highcharts(JavaScript圖表庫) v12.2.0資源來源互聯(lián)網(wǎng),版權(quán)歸該下載資源的合法擁有者所有。