首页 > 其他分享 >golang gin框架搭建restapi

golang gin框架搭建restapi

时间:2024-01-31 14:58:30浏览次数:35  
标签:album Title restapi golang json go gin albums

初学golang,尝试用gin框架搭建restapi

一)源码准备
创建go.mod文件,相当于nodejs中的package.json
go mod init examples/web-service-gin

新建文件main.go,加入以下代码

package main

import (
	"net/http"

	"github.com/gin-gonic/gin"
)

// album represents data about a record album.
type album struct {
	ID     string  `json:"id"`
	Title  string  `json:"title"`
	Artist string  `json:"artist"`
	Price  float64 `json:"price"`
}

// albums slice to seed record album data.
var albums = []album{
	{ID: "1", Title: "Blue Train", Artist: "John Coltrane", Price: 56.99},
	{ID: "2", Title: "Jeru", Artist: "Gerry Mulligan", Price: 17.99},
	{ID: "3", Title: "Sarah Vaughan and Clifford Brown", Artist: "Sarah Vaughan", Price: 39.99},
}

// getAlbums responds with the list of all albums as JSON.
func getAlbums(c *gin.Context) {
	c.IndentedJSON(http.StatusOK, albums)
}

func main() {
	router := gin.Default()
	router.GET("/albums", getAlbums)

	router.Run("localhost:8080")
}

二)安装依赖
go get .

安装完成后,可以在C:\Users[用户名]\go\pkg\mod 下看到相关依赖包

三)运行项目
go run .
运行启动后在浏览器中访问
http://localhost:8080/albums

参考:https://go.dev/doc/tutorial/web-service-gin

标签:album,Title,restapi,golang,json,go,gin,albums
From: https://www.cnblogs.com/Andy1982/p/17997240

相关文章

  • nginx代理服务器
    一、Nginx是什么?Nginx(enginex)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网......
  • 在gin-gonic框架下,gin.context 输出json, 默认会将&转义为\u0026, 怎么将这个转义关
    在gin-gonic中,如果你想要禁止对&等字符进行转义,可以使用gin.Context的PureJSON方法。这个方法允许你自己控制JSON输出,而不会进行字符的转义。以下是一个简单的例子:packagemainimport( "github.com/gin-gonic/gin" "net/http")funcmain(){ router:=gin.Default() ......
  • ubuntu安装nginx遇到的问题
    执行./configure的时候出现error1.UbuntutheHTTPrewritemodulerequiresthePCRElibrary 缺少pcre 执行sudoapt-getinstalllibpcre3libpcre3-dev sudoapt-getinstallopenssllibssl-dev2.  ./configure:error:theHTTPgzipmodulerequiresthezlibl......
  • Golang学习(三)基本语法[变量、常量、类型、类型转换]
    变量声明Go语言中有四类标记:标识符(identifiers)、关键字(keywords)、运算符(operators)标点符号(punctuation)以及字面量(literals)。Go语言变量标识符由字母、数字、下画线组成,其中首字符不能为数字,同一字母的大小写在Go语言中代表不同标识。在Go语言中,命名标识符时,通常选择英文的52个大......
  • Golang不可不知的7个并发概念
    Golang不可不知的7个并发概念原创 俞凡DeepNoMind DeepNoMind 2024-01-1311:08 发表于上海 听全文并发性支持是Golang最重要的原生特性之一,本文介绍了Golang中和并发性相关的7个概念。原文: Golang:7must-knowconcurrencyrelatedconcepts[1]并发是Go编程......
  • nginx-go-crossplane crossplane golang 版本的nginx 配置解析包
    nginx-go-crossplane属于python版本crossplanenginx配置解析包的golang移植可以实现nginx配置解析转换为json格式的数据,当然也支持将json转换为nginx配置格式说明对于希望基于nginx搞自己的流量统一平台,同时希望基于api管理的,nginx-go-crossplane是一个很不错的选择......
  • 基于fx构建大型golang应用
    基于FX构建大型Golang应用原创 俞凡DeepNoMind DeepNoMind 2023-12-2313:29 发表于上海 1人听过Uber开源的FX可以帮助Go应用解耦依赖,实现更好的代码复用。原文: HowtobuildlargeGolangapplicationsusingFX[1]构建复杂的Go应用程序可能会引入很多耦合Go......
  • AtCoder Beginner Contest 338
    ABC338总结A-Capitalized?翻译给你一个由大写和小写英文字母组成的非空字符串\(S\)。请判断是否满足以下条件:\(S\)的第一个字符是大写字母,其他所有字符都是小写字母。如果满足,输出Yes,否则输出No。分析按题目说的判断即可。code#include<bits/stdc++.h>usingn......
  • nginx 配置静态资源认证
    location/media/{set$token$arg_token;if($arg_token=""){return401;}auth_request/validate_token;auth_request_set$auth_status$upstream_status;......
  • AtCoder Beginner Contest 337
    ABC337总结A.Scoreboard翻译Takahashi队和Aoki队进行了\(N\)场比赛。在\(i\)/th比赛\((1\leqi\leqN)\)中,Takahashi队得了\(X_i\)分,Aoki队得了\(Y_i\)分。在\(N\)场比赛中总得分较高的队伍获胜。输出获胜者。如果两队总得分相同,则输出Draw。分析将得分分别加起来......