首页>>后端>>Golang->使用rk框架快速搭建基于Go语言Restful服务

使用rk框架快速搭建基于Go语言Restful服务

时间:2023-11-29 本站 点击:0

一. RK框架介绍

RK(全称Rookie)是开源的Go语言(golang)框架。可以方便搭建生产级别restful和grpc服务。

Github:github.com/rookie-ninja/rk-boot

RK官网:rkdev.info/cn

RK Demo代码:github.com/rookie-ninja/rk-demo/tree/master/gin/basic

二. Demo

这次我用rk搭建一个简单的restful服务。

1. 创建Go项目

mkdirrk-hellocdrk-hellogomodinitrk-hello

2. 安装rk-boot

gogetgithub.com/rookie-ninja/rk-boot

3. 创建boot.yaml文件

gin:-name:greeterport:8080sw:enabled:falsejsonPath:"docs"commonService:enabled:truetv:enabled:trueprom:enabled:falseinterceptors:loggingZap:enabled:truemetricsProm:enabled:truemeta:enabled:true

4.创建main.go

packagemainimport("context""fmt""github.com/gin-gonic/gin""github.com/rookie-ninja/rk-boot""net/http")//@titleRKSwaggerforGin//@version1.0//@descriptionThisisagreeterservicewithrk-boot.//Applicationentrance.funcmain(){//Createanewbootinstance.boot:=rkboot.NewBoot()//Registerhandlerboot.GetGinEntry("greeter").Router.GET("/v1/greeter",Greeter)//Bootstrapboot.Bootstrap(context.Background())//Waitforshutdownsigboot.WaitForShutdownSig(context.Background())}//Greeter@SummaryGreeterservice//@Id1//@version1.0//@produceapplication/json//@Paramnamequerystringtrue"Inputname"//@Success200{object}GreeterResponse//@Router/v1/greeter[get]funcGreeter(ctx*gin.Context){ctx.JSON(http.StatusOK,&GreeterResponse{Message:fmt.Sprintf("Hello%s!",ctx.Query("name")),})}//GreeterResponseresponsetypeGreeterResponsestruct{Messagestring}

5. 运行

gorunmain.go

6. 查看当前服务状态

可以通过自带的rk-tv组件查看:http://localhost:8080/rk/v1/tv/info

三. 结束

至此简单的restful服务搭建完毕。rk还有很多功能,如支持swagger, promtheus等,可以查阅官网和Github。大家有什么问题直接可以留言,或者到GitHub rk-boot项目留issue。

谢谢

作者:Shengyu


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Golang/248.html