Choose Language

Lesson 1 of 4 ┬╖ Building REST APIs in Go
Expert тАФ build from scratch тП▒ 7 min

REST API's in Golang with the Gin Framework!

Watch this lesson to understand REST API's in Golang with the Gin Framework! тАФ takes about 7 minutes.

рдХреНрдпрд╛ рдЖрдк рд╕реАрдЦреЗрдВрдЧреЗ

  • рдЬрд┐рди рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░реЗрд╕реНрдЯ рдПрдкреАрдЖрдИ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдордЭрдирд╛ред
  • рдЬрд┐рди рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд░рд╛рдЙрдЯреНрд╕ рдФрд░ рд╣реИрдВрдбрд▓рд░ рдлрдВрдХреНрд╢рдиреНрд╕ рдХреЛ рдХреИрд╕реЗ рд╕реЗрдЯрдЕрдк рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рдкреЛрд╕реНрдЯрдореИрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреАрдЖрдИ рдХреЛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╕реАрдЦрдирд╛ред

рдореБрдЦреНрдп рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдВ

рдЬрд┐рди рдлреНрд░реЗрдорд╡рд░реНрдХ рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рдЧреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдЬреЛ рд░реЗрд╕реНрдЯ рдПрдкреАрдЖрдИ рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИред рд░рд╛рдЙрдЯреНрд╕ рдФрд░ рд╣реИрдВрдбрд▓рд░ рдлрдВрдХреНрд╢рдиреНрд╕ рдЬрд┐рди рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдореБрдЦреНрдп рдШрдЯрдХ рд╣реИрдВ рдЬреЛ рдПрдкреАрдЖрдИ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВред рдкреЛрд╕реНрдЯрдореИрди рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ рдЬреЛ рдПрдкреАрдЖрдИ рдХреЛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдФрд░ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рд░реЗрд╕реНрдЯ рдПрдкреАрдЖрдИ рдореЗрдВ рдЬреЗрдЯреА рдФрд░ рдкреЛрд╕реНрдЯ рдЬреИрд╕реЗ рддрд░реАрдХреЗ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдбреЗрдЯрд╛ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдХреЛрдб рдЙрджрд╛рд╣рд░рдг

r := gin.Default()
r.GET("/helloWorld", handleGet)
r.POST("/message", handlePost)
r.Run(":3000")

рдпрд╣ рдХреЛрдб рдЬрд┐рди рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рд░рд▓ рд░реЗрд╕реНрдЯ рдПрдкреАрдЖрдИ рд╕реЗрдЯрдЕрдк рдХрд░рддрд╛ рд╣реИред

func handleGet(c *gin.Context) {
	c.JSON(200, gin.H{
		"message": "hello world",
	})
}

рдпрд╣ рдХреЛрдб рдПрдХ рдЬреЗрдЯреА рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЬреЗрд╕рди рдЙрддреНрддрд░ рднреЗрдЬрддрд╛ рд╣реИред

func handlePost(c *gin.Context) {
	var postRec PostRec
	if err := c.BindJSON(&postRec); err != nil {
		c.JSON(501, gin.H{
			"message": "рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╡рд┐рдлрд▓",
		})
		return
	}
	c.JSON(200, gin.H{
		"message": postRec.Message,
	})
}

рдпрд╣ рдХреЛрдб рдПрдХ рдкреЛрд╕реНрдЯ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ рдФрд░ рдЬреЗрд╕рди рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдмрд╛рдВрдзрддрд╛ рд╣реИред

рдкрд╛рда рд╕рд╛рд░рд╛рдВрд╢

рдЗрд╕ рдкрд╛рда рдореЗрдВ, рд╣рдордиреЗ рдЬрд┐рди рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░реЗрд╕реНрдЯ рдПрдкреАрдЖрдИ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реАрдЦрд╛ред рд╣рдордиреЗ рд░рд╛рдЙрдЯреНрд╕ рдФрд░ рд╣реИрдВрдбрд▓рд░ рдлрдВрдХреНрд╢рдиреНрд╕ рдХреЛ рд╕реЗрдЯрдЕрдк рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╕реАрдЦрд╛ рдФрд░ рдкреЛрд╕реНрдЯрдореИрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреАрдЖрдИ рдХреЛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╕реАрдЦрд╛ред рд╣рдордиреЗ рдЬреЗрдЯреА рдФрд░ рдкреЛрд╕реНрдЯ рдЬреИрд╕реЗ рддрд░реАрдХреЛрдВ рдХреЛ рднреА рд╕реАрдЦрд╛ рдФрд░ рдЬреЗрд╕рди рдбреЗрдЯрд╛ рдХреЛ рдмрд╛рдВрдзрдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╕реАрдЦрд╛ред рдпрд╣ рдкрд╛рда рдЧреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдмрд┐рдВрджреБ рд╣реИ рдЬреЛ рд░реЗрд╕реНрдЯ рдПрдкреАрдЖрдИ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдЕрднреНрдпрд╛рд╕ рд╡реНрдпрд╛рдпрд╛рдо

рдПрдХ рд╕рд░рд▓ рд░реЗрд╕реНрдЯ рдПрдкреАрдЖрдИ рдмрдирд╛рдПрдВ рдЬреЛ рдПрдХ рдЬреЗрдЯреА рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЬреЗрд╕рди рдЙрддреНрддрд░ рднреЗрдЬрддрд╛ рд╣реИред рдлрд┐рд░, рдкреЛрд╕реНрдЯрдореИрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреАрдЖрдИ рдХреЛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реИ

рдЕрдм рдЬрдм рдЖрдк рдЬрд┐рди рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд░реЗрд╕реНрдЯ рдПрдкреАрдЖрдИ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдПрдкреАрдЖрдИ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВред рдЕрдЧрд▓реЗ рдкрд╛рда рдореЗрдВ, рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдПрдкреАрдЖрдИ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рд╕реАрдЦреЗрдВрдЧреЗред

Go deeper on Go: Cloud-Native Backend Development

Hand-picked books and tools our learners actually use. Affiliate-supported тАФ same price for you, supports free lessons.