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

c web网站开发 pdf北京网站外包

c web网站开发 pdf,北京网站外包,东莞工作装制作,网络设计有哪些开启一个简单的API服务。 golang的教程网上一大堆,官网也有非常详细的教程,这里不在赘述这些基础语法教程,我们意在快速进入项目开发阶段。 golang好用语法教程传送门: m.runoob.com/go/ 编写第一个API 前提:按照上一…

开启一个简单的API服务。

golang的教程网上一大堆,官网也有非常详细的教程,这里不在赘述这些基础语法教程,我们意在快速进入项目开发阶段。

golang好用语法教程传送门: m.runoob.com/go/

编写第一个API

前提:按照上一篇文档初始化项目

1. 下载gin框架,一个非常好用的写API的框架,使用也很广泛

# 在项目文件下执行go命令下载gin依赖
go mod get github.com/gin-gonic/gin

2. 创建API文件夹:apis

3. 在apis创建第一个API文档:hello.go

4. 实现一个入参为name,返回为:hello name的api

package apisimport ("fmt""net/http""github.com/gin-gonic/gin""github.com/gin-gonic/gin/binding"
)// API入参参数
type HttpRequest struct {Name string `json:"name"`
}// API响应参数
type HttpRespone struct {Status  int    `json:"status"`Message string `json:"message"`Data    string `json:"data"`
}/*
实现一个入参为name,响应为:hello name的api
这个例子中,异常信息通过status和message返回,api响应状态正常,如果需要响应400等异常状态,可以更换c.JSON(http.StatusOK, res)中的StatusOK
*/
func Hello(c *gin.Context) {// 声明reqvar req HttpRequest// 声明res并初始化var res = HttpRespone{}// 获取api请求参数err := c.ShouldBindBodyWith(&req, binding.JSON)// 出现错误,则响应错误信息if err != nil {res.Status = 10res.Message = "读取请求参数错误"c.JSON(http.StatusOK, res)return}// 判断是否入参nameif req.Name == "" {res.Status = 20res.Message = "参数name为空"c.JSON(http.StatusOK, res)return}// 正常响应 hello nameres.Status = 0res.Message = "成功"res.Data = fmt.Sprintf("hello %v", req.Name)c.JSON(http.StatusOK, res)
}

5. 在apis文件夹中创建apis.go,编写api路由注册和服务启动方法

package apisimport ("net/http""github.com/gin-gonic/gin"
)func StartHttp() {// 设置为发布模式(初始化路由之前设置)gin.SetMode(gin.ReleaseMode)// gin 默认中间件r := gin.Default()// 访问一个错误路由时,返回404r.NoRoute(func(c *gin.Context) {c.JSON(http.StatusNotFound, gin.H{"status":  404,"message": "404, page not exists!",})})// 注册hello路由r.POST("/hello", Hello)// 启动API服务if err := r.Run(":8080"); err != nil {panic(err)}
}

6. 入口文件main.go引用apis模块

package mainimport "prj_aiee/apis"func main() {apis.StartHttp()
}

完整的项目文件构成如图:

7.  启动服务

# 项目文件夹下执行go命令
go run main.go

8. 调用api

# 执行curl命令调用API
curl -X POST "http://localhost:8080/hello" -H "content-type: application/json" -d "{\"name\": \"aiee\"}"

9. 响应如下: {"status":0,"message":"成功","data":"hello aiee"}

项目源码:GitHub - liyonge-cm/go_prj_aiee: go api 服务 demo

http://www.khdw.cn/news/68966.html

相关文章:

  • 陕西住房建设部网站seo公司运营
  • 天津网站建设制作价格黑帽seo
  • 建设思政教育网站案例广点通推广登录入口
  • 织梦网站定制江苏搜索引擎优化
  • 晋江模板建站足球世界排名一览表
  • 襄阳网站建设多少钱广告推广宣传
  • 求网站建设浏览器打开网站
  • 广州做网站 汉狮网络百度问答一天能赚100块吗
  • 如何通过axure做网站架构网站运营课程
  • wordpress 多站点用户广州从化发布
  • 制造网站开发营销做得好的品牌
  • 网站做一个多少钱阿里云域名注册官网网址
  • 那家公司做网站比较好今日热点新闻10条
  • 新网站排名优化怎么做360搜索首页网址是多少
  • 动漫做美食的视频网站线下推广都有什么方式
  • 网站建设高端网页设计能让手机流畅到爆的软件
  • 网站做签到功能快速网站推广
  • 好的网站设计网站百度信息流推广平台
  • 国内房地产设计网站建设种子搜索
  • 房产网站开发方案优化问题
  • 阿里巴巴 商城网站怎么做直播代运营公司
  • 影视 wordpress关键词排名优化系统
  • 管理型网站建设费用明细免费b2b
  • 代码网站怎么制作免费下载百度到桌面
  • 网站设计模式有哪些推广网站文案
  • 天猫店的网站怎么做的18种最有效推广的方式
  • 小软件下载网站2022年seo最新优化策略
  • 做网站需要注意哪些东西网页制作app
  • 软件平台设计方案郑州搜索引擎优化
  • 寻找做网站的合作伙伴北京引擎搜索网站