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.