当前位置: 首页 > news >正文

免费ps模板下载网站网站开发招商计划书

免费ps模板下载网站,网站开发招商计划书,网络推广软件哪个好,网站域名费云原生学习路线导航页#xff08;持续更新中#xff09; 本文是golang语言系列文章#xff0c;本篇主要对 Echo 框架 的基本使用方法 进行学习 1.Echo是什么 Go 有众多Web框架#xff0c;Echo 是其中的一个#xff0c;官网介绍Echo有高性能、可扩展性、极简的特点。使用E…云原生学习路线导航页持续更新中 本文是golang语言系列文章本篇主要对 Echo 框架 的基本使用方法 进行学习 1.Echo是什么 Go 有众多Web框架Echo 是其中的一个官网介绍Echo有高性能、可扩展性、极简的特点。使用Echo可以快速开发一个Web应用官网https://echo.labstack.com/官方文档https://echo.labstack.com/docs/quick-start 官方文档写的很好虽然是英文但是通俗易懂建议大家直接看文档学习 github仓库https://github.com/labstack/echo推荐博客https://www.cnblogs.com/remixnameless/category/1921316.htmlEcho官方描述的众多特性 优化 HTTP 路由器智能优先路由构建健壮且可伸缩的 RESTful API具有群组 API可扩展的中间件框架可以在根、组或路由级别定义中间件JSON、 XML 和表单有效负载的数据绑定发送各种 HTTP 响应的方便函数集中式 HTTP 错误处理使用任意模板引擎进行模板呈现定义日志记录器的格式高度可定制自动 TLS 加密HTTP/2支持 2.Echo使用快速入门 2.1.Echo安装 Echo 的安装需要有go环境Go 1.13或更高版本。Echo 对 Go 1.12的支持有限一些中间件将不可用$ mkdir myapp cd myapp $ go mod init myapp# Go v1.15及以上安装命令 $ go get github.com/labstack/echo/v4# Go v1.14及以下安装命令 GO111MODULEon go get github.com/labstack/echo/v42.2.编写Hello, World! 创建 server.go 文件package mainimport github.com/labstack/echo/v4func main() {e : echo.New()e.GET(/, func(c echo.Context) error {return c.String(200, Hello, World!)})e.Logger.Fatal(e.Start(:1323)) }启动服务go run server.go在浏览器访问 http://localhost:1323输出如下 2.3.CRUD方法的路由设置 e.POST(/users, saveUser) e.GET(/users/:id, getUser) e.PUT(/users/:id, updateUser) e.DELETE(/users/:id, deleteUser)2.4.获取请求参数 2.4.1.路径参数的获取 使用 c.Param传入名称可以获取路径参数演示接口GET /user/:idpackage mainimport github.com/labstack/echo/v4func main() {e : echo.New()e.GET(/, func(c echo.Context) error {return c.String(200, Hello, World!)})e.GET(/user/:id, getUser)e.Logger.Fatal(e.Start(:1323)) }func getUser(c echo.Context) error {id : c.Param(id)return c.String(200, user id:id) }测试 2.4.2.查询参数的获取 使用 c.QueryParam传入名称可以获取查询参数演示接口GET /userpackage mainimport github.com/labstack/echo/v4func main() {e : echo.New()e.GET(/user, getQueryParam)e.Logger.Fatal(e.Start(:1323)) }func getQueryParam(c echo.Context) error {id : c.QueryParam(id)name : c.QueryParam(name)return c.String(200, user id:id name:name) }测试 2.4.3.表单数据的获取 Post请求的两种编码格式 application/x-www-form-urlencodedmultipart/form-data 2.4.3.1.Form application/x-www-form-urlencoded 使用 c.FormValue传入名称可以获取表单指定参数的值演示接口POST /userpackage mainimport (github.com/labstack/echo/v4net/http )func main() {e : echo.New()e.POST(/user, save)e.Logger.Fatal(e.Start(:1323)) }func save(c echo.Context) error {// Get name and emailname : c.FormValue(name)email : c.FormValue(email)return c.String(http.StatusOK, name:name, email:email) }测试curl -d nameJoe Smith -d emailjoelabstack.com http://localhost:1323/user // name:Joe Smith, email:joelabstack.com2.4.3.2.Form multipart/form-data 上传文件一般使用Form multipart/form-data 演示接口POST /userAvatar package mainimport (github.com/labstack/echo/v4ionet/httpos )func main() {e : echo.New()e.POST(/userAvatar, saveAvatar)e.Logger.Fatal(e.Start(:1323)) }func saveAvatar(c echo.Context) error {// Get namename : c.FormValue(name)// Get avataravatar传过来的是本地文件路径avatar, err : c.FormFile(avatar)if err ! nil {return err}// Source因为都是localhost直接打开本地文件就行src, err : avatar.Open()if err ! nil {return err}defer src.Close()// Destinationdst, err : os.Create(avatar.Filename)if err ! nil {return err}defer dst.Close()// Copyif _, err io.Copy(dst, src); err ! nil {return err}return c.HTML(http.StatusOK, bThank you! name/b) }测试 curl -F nameJoe Smith -F avatar/path/to/your/avatar.png http://localhost:1323/userAvatar // bThank you! Joe Smith/b2.5.4.参数绑定 根据 Content-Type 请求头将 json、 xml、表单或查询有效负载绑定到 Go struct 中。使用状态代码将响应呈现为 json 或 xmlpackage mainimport (github.com/labstack/echo/v4ionet/httpos )type User struct {Name string json:name xml:name form:name query:nameEmail string json:email xml:email form:email query:email }func main() {e : echo.New()e.POST(/users, users)e.Logger.Fatal(e.Start(:1323)) }func users(c echo.Context) error {u : new(User)if err : c.Bind(u); err ! nil {return err}return c.JSON(http.StatusCreated, u)// or// return c.XML(http.StatusCreated, u) }2.5.中间件 echo提供的中间件很多需要的时候查就行下面演示 middleware.Logger()、middleware.Recover() 中间件、自定义基础认证中间件方法、自定义接口响应后路由中间件 的使用 // Root level middleware e.Use(middleware.Logger()) e.Use(middleware.Recover())// Group level middleware g : e.Group(/admin) g.Use(middleware.BasicAuth(func(username, password string, c echo.Context) (bool, error) {if username joe password secret {return true, nil}return false, nil }))// Route level middleware track : func(next echo.HandlerFunc) echo.HandlerFunc {return func(c echo.Context) error {println(request to /users)return next(c)} } e.GET(/users, func(c echo.Context) error {return c.String(http.StatusOK, /users) }, track)2.5.静态内容和渲染Render e.Static(/static, static)static content 更多详细内容请参考 https://echo.labstack.com/docs/static-files Render更多详细内容请参考 https://echo.labstack.com/docs/templates
http://www.zqtcl.cn/news/904536/

相关文章:

  • 中英文网站建设需要懂英语吗电气网站设计
  • 双语网站用什么程序做新网站如何被网站收录
  • 怎么做视频平台网站想开个小说网站怎么做
  • 网站安全监测预警平台建设成效阐述网络营销策略的内容
  • 网站上的qq如何做悬浮沧州做网站的公司
  • 电子商务网站系统规划报告移动商城 网站建设方法方式
  • 网站建设架构选型引擎seo优
  • 什么电脑做网站前段用网站建设工作人员有哪些职责
  • 网站建设技巧网站建设 总结
  • 有站点网络营销平台搜一下百度
  • 沈阳网站建设找德泰诺wordpress 访客计数器
  • 专业网站建设价格分析企业展示型网站建设方案
  • 东丽做网站公司帮做网站的公司
  • 网站的icon图标做多大验证wordpress
  • html制作音乐网站代码已经买了域名怎么做网站
  • 网站做收付款接口山东专业的制作网站
  • 龙岗建设高端网站如何建立网站会员系统吗
  • 中国建设银行的网站色彩wordpress 图片采集器
  • 渭南做网站价格江西省城乡住房建设部网站
  • 个人网站可以做充值安徽建设厅网站首页
  • 技术支持 东莞网站建设石材小企业网站建设查询
  • 政务公开网站建设的亮点和建议wordpress注册怎么设置密码
  • 外贸有哪些网站成都网络营销搜索推广优势
  • 国外mod大型网站财税公司
  • 一个很好的个人网站开发做一个简单网页多少钱
  • 东莞在哪里学网站建设网站建设团队与分工
  • 网站功能插件昆明网站建设技术研发中心
  • 网站开发培训中心 市桥移动端ui
  • 高碑店地区网站建设上海排名十大装潢公司
  • 无锡自助建站网站还是新能源专业好