Skip to content

Instantly share code, notes, and snippets.

@pakoy3k
Created January 2, 2020 00:26
Show Gist options
  • Save pakoy3k/76fac83ad2e7ab5b401b729e0ff8fd9b to your computer and use it in GitHub Desktop.
Save pakoy3k/76fac83ad2e7ab5b401b729e0ff8fd9b to your computer and use it in GitHub Desktop.
API basica en Go lang con conexion a mySQL
package main
import (
"database/sql"
"encoding/json"
"fmt"
"log"
"net/http"
_ "github.com/go-sql-driver/mysql"
"github.com/gorilla/mux"
)
var db *sql.DB
func homeLink(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "<h1>API welcome!</h1>")
}
func sqlTest(w http.ResponseWriter, r *http.Request) {
var err error
db, err = sql.Open("mysql", "root:@/inventory_db?charset=utf8")
if err != nil {
panic(err)
}
rows, err := db.Query("SELECT id,username FROM stock_user")
if err != nil {
panic(err)
}
defer rows.Close()
for rows.Next() {
var dataDB int
var textDB string
rows.Scan(&dataDB, &textDB)
fmt.Println(dataDB)
fmt.Println(textDB)
slcD := []string{"apple", "peach", "pear"}
slcB, _ := json.Marshal(slcD)
fmt.Fprintf(w, textDB)
fmt.Fprintf(w, string(slcB))
}
}
func main() {
router := mux.NewRouter().StrictSlash(true)
router.HandleFunc("/", homeLink)
router.HandleFunc("/sqltest", sqlTest)
log.Fatal(http.ListenAndServe(":8081", router))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment