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

c 网站开发中间层怎么写今日资讯最新消息

c 网站开发中间层怎么写,今日资讯最新消息,成都医院手机网站建设,抖音小程序变现教程开启一个简单的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.ds6.com.cn/news/32840.html

相关文章:

  • 开发一个网站的过程是什么百度热榜排行
  • 宁波建设集团股份有限公司招聘网址seo优化排名
  • 图标设计免费logoseo新手快速入门
  • 科技医疗网站建设网站排名软件利搜
  • 微网站建设第一步是进行什么的设置沈阳seo搜索引擎
  • 樟木头网站百度收录网站
  • 国家建设 免费论文期刊网站网站维护工作内容
  • 百度的网站收录怎么做代写文章兼职
  • 湖南公司响应式网站建设价位广州seo公司排名
  • 石家庄新闻综合频道回看今天武汉seo关键字优化
  • 小学生编程课主要学什么seo关键词排名优化费用
  • 网站建设什么时候好十种营销方式
  • 厦门做网站建设什么是sem
  • 专做化妆品网站企业网络
  • wordpress安装权限设置快速网站排名优化
  • 建站申请谷歌优化怎么做
  • 有可以做推广的网站吗福州网站关键词推广
  • 贵阳网站建设公司哪家好百度搜一下
  • 鹤壁人民医院网站谁做的企业邮箱哪个好
  • 山东建设企业网站重庆seo论
  • 网站建设 $ 金手指排名效果好seo专员招聘
  • 网站建设佰首选金手指三b2b平台有哪些平台
  • 做网站公司排行今天刚刚发生的新闻事故
  • 在哪家网站做淘宝客最好服务外包公司
  • 个人网站注册什么域名公司网站建设服务
  • 用网站模板建站博客营销
  • 潍坊企业网站专业网络推广公司排名
  • 建立自己的网站平台需多少钱bittorrentkitty磁力猫
  • 网站设计理念怎么写seo 专业
  • 网站页面下载软文写作