66 lines
1.5 KiB
Go
66 lines
1.5 KiB
Go
|
// package main
|
||
|
|
||
|
// import (
|
||
|
// "errors"
|
||
|
// "net/http"
|
||
|
|
||
|
// "github.com/gin-gonic/gin"
|
||
|
// )
|
||
|
|
||
|
// type media struct {
|
||
|
// ID string `json: "id"`
|
||
|
// Url string `json: "url"`
|
||
|
// Title string `json: "title"`
|
||
|
// Author string `json: "author"`
|
||
|
// }
|
||
|
|
||
|
// var songs = []media{
|
||
|
// {ID: "1", Url: "https://www.youtube.com/watch?v=DmeUuoxyt_E", Title: "Rockstars", Author: "Nickelback"},
|
||
|
// {ID: "2", Url: "https://www.youtube.com/watch?v=u9Dg-g7t2l4", Title: "The Sound Of Silence", Author: "Disturbed"},
|
||
|
// {ID: "3", Url: "https://www.youtube.com/watch?v=uxUATkpMQ8A", Title: "Gives You Hell", Author: "The All-American Rejects"},
|
||
|
// }
|
||
|
|
||
|
// func getMedia(c *gin.Context) {
|
||
|
// c.IndentedJSON(http.StatusOK, songs)
|
||
|
// }
|
||
|
|
||
|
// func songByid(c *gin.Context) {
|
||
|
// id := c.Param("id")
|
||
|
// song, err := getMediaByid(id)
|
||
|
|
||
|
// if err != nil {
|
||
|
// c.IndentedJSON(http.StatusNotFound, gin.H{"message": "Book not found."})
|
||
|
// return
|
||
|
// }
|
||
|
|
||
|
// c.IndentedJSON(http.StatusOK, song)
|
||
|
// }
|
||
|
|
||
|
// func getMediaByid(id string) (*media, error) {
|
||
|
// for i, song := range songs {
|
||
|
// if song.ID == id {
|
||
|
// return &songs[i], nil
|
||
|
// }
|
||
|
// }
|
||
|
// return nil, errors.New("id not found")
|
||
|
// }
|
||
|
|
||
|
// func addMedia(c *gin.Context) {
|
||
|
// var newSong media
|
||
|
|
||
|
// if err := c.BindJSON(&newSong); err != nil {
|
||
|
// return
|
||
|
// }
|
||
|
|
||
|
// songs = append(songs, newSong)
|
||
|
// c.IndentedJSON(http.StatusCreated, newSong)
|
||
|
// }
|
||
|
|
||
|
// func main() {
|
||
|
// router := gin.Default()
|
||
|
// router.GET("/songs", getMedia)
|
||
|
// router.GET("/songs/:id", songByid)
|
||
|
// router.POST("/songs", addMedia)
|
||
|
// router.Run("127.0.0.1:8000")
|
||
|
// }
|