postman post gin 接收不到_golang web开发——gin实战入门

本文介绍了Gin框架的基础知识,包括Gin的简介、简单的Hello World示例,以及如何像Spring Boot那样使用Gin进行企业级开发。通过创建一个简单的web项目,展示了Gin的路由、控制器和服务层的组织结构,为后续的Gin实战教程奠定了基础。
摘要由CSDN通过智能技术生成

背景

在之前的一系列golang入门小节中,我们也算管中窥豹,大概了解了一些golang,了解了它的基本语法,在之前的章节中,很多大佬留言或者私信我说,我写的都太过简单,充其量就是一个golang的demo,根本达不到企业级开发的要求,所以从这个小节开始的以下大概20个章节,我们都会讲解golang的实战学习,这个过程也是我自己学习或者复习的过程,希望在接下来的章节中,我们都会有所收获

讲真话,其实我也没有在大型项目中,使用golang做过核心接口的开发,充其量也就是边角料工程,那些可以练手的工程中使用golang进行开发,不过跟学习java一样,都是从不会到会的嘛,也都是从模仿中慢慢有了自己对东西的理解,所以我也只有用类比学java的方式去学习golang的web开发,如果有不对的地方,还请golang的大佬指点,拍砖,讲解

0b4c42e395df74928ddbd6d762696606.png

gin的简介

现在golang web开发的框架比较多,有beego的,有gin的,不过听很多业内大佬说,很多还是基于gin的,应该说gin比较轻量,完全是一个web层组件,我觉得可以类比spring mvc,而beego就是一套东西了,可以类比spring framework

044fdd852daa441fba6e1c5627d2ff0b.png

gin的github地址,如果有需要的同学可以去github去看下,从它的star和fork数量来说,也可以侧面看出golang语言的火爆,和gin框架的优秀

https://github.com/gin-gonic/gin

gin版的hello world

1.打开goland新建project

d65dffc31b9b935ab56c10bb4a272ab8.png

2.新建一个main.go,从gin官网的Quick start中把代码复制到main函数中就可以了

02f3d73f825c981a635f201c58456f17.png

3.运行main函数

eef8c99e58b18011fda0a635dd0438a6.png

从启动日志中可以看出,这边会有一个get请求的映射,并且会在8080端口监听,使用postman测试一下,发现可以访问,到此为止,一个最简单的gin的hello world就搞定了,非常简单

19c0c2886d37c75684010f3faf92f5e1.png

像使用spring boot的方式使用gin

可能我自己理解的不到位,但是从我的角度看来,gin的企业级使用方式与java中的spring boot有很多相似的地方,您可以按照我如下的步骤来搭建我们第一个gin的企业级系统,先简单的看下我们最后搭建完的系统骨架图,从骨架图中看来,gin也是需要进行分层开发的,否则所有代码都在main函数中进行维护,在日常真实开发过程中,是完全不可行的

9dc15baf52e6ae83692d04b8af4a8ce5.png

1.和spring boot一样使用main函数作为启动整个系统的入口,这种风格和spring boot非常像,就一个很简单的启动代码,整个项目就开始从这里生根发芽,我们可以看到,这边调用了routers包下的Routers方法

7df602f9a7871827dfda3b548c1511e9.png

2.routers这个包下的所有方法,感觉就跟spring boot的controller层一样,定义了方法的映射,和对应逻辑的具体处理类,因为这个是示例代码,接下来的实战课程,我们将搭建一个电影管理系统,不要看这个low,所有的项目都是慢慢从low变牛逼,虽然我也不保证这个项目能够有多牛,但是做实战,总要有一个合适的场景,我们定义了如果用户请求/movie/get/:id这样的restful风格的请求URL的时候,将会交给GetMovieById这个方法处理

eb4020d7ce4820dd102c0f164b3564b7.png

3.GetMovieById这个方法,可以类比我们spting boot的service层,是处理业务的主要核心逻辑区,因为本小节只是一个入门的,并没有包含实际的业务逻辑处理,这边就写了一个静态的默认数据就返回了

ef9691e8b23a9dd12755ca75bc43308c.png

4.在实际项目中,dao层就是我们这个项目中的model层了,虽然目前这个刚刚搭建的demo项目中,并没有什么操作数据库的地方,dao层只定义了一个movie的简单结构,但是接下来的课程中,我们会补充这块操作数据库的代码,到时候在细说其中的思想

75794113678c8b0871e32f25a28c2296.png

5.启动工程,访问localhost:8080/movie/get/3

9ac31c6f83cddc5bfc58a54da9b1085c.png

到此为止,一个简单的工程就搭建完成了,虽然非常简单,但是整个项目的骨架已经初具规模了,叶酸是麻雀虽小五脏俱全,接下来的,我们就会按照套路,一步步去完善整个项目

下一个小节将整合swagger,spring boot有swagger,golang同样也能够得到swagger的支持,如果你对本系列的文章感兴趣,麻烦加一个关注,亦或者素质三连,感谢您的支持

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值