iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 11
0
Modern Web

Golang - 從打造一個 API 開始學起系列 第 11

[Day11] 建構 API

本文同步發表於: Sponge Records

本文會與開始編寫功能

golang api

我們將會先實作 main.go ,他會起到路由的功能,因此需要引用gorilla/mux,而多引用的 golang-api/application 與 golang-api/controllers 是之後放置主要邏輯與路由的程式碼

package main

import (
	"os"
	"fmt"
	"net/http"
	"github.com/gorilla/mux"
	"golang-api/application"
	"golang-api/controllers"
)

func main() {

	router := mux.NewRouter()

	router.HandleFunc("/api/user/create", controllers.CreateAccount).Methods("POST")
	router.HandleFunc("/api/user/login", controllers.Authenticate).Methods("POST")
	router.HandleFunc("/api/chat/listGet", controllers.GetContactsFor).Methods("POST") 
	router.HandleFunc("/api/chat/get", controllers.CreateContact).Methods("POST")
	router.HandleFunc("/api/chat/create", controllers.GetContactsFor).Methods("POST") 

	router.Use(application.JwtAuthentication)

	port := os.Getenv("PORT")
	if port == "" {
		port = "8000" 
	}

	fmt.Println(port)

	err := http.ListenAndServe(":" + port, router)
	if err != nil {
		fmt.Print(err)
	}
}

透過以上程式碼可以連結日後要加入的功能,起到進入點的功能

下回預告

下回將讓我們的 api 先能與資料庫溝通,畢竟我們大部分的功能都需要與資料庫互動


上一篇
[Day10] api 架構與套件選用
下一篇
[Day12] API 與 postgresql 連接
系列文
Golang - 從打造一個 API 開始學起30

尚未有邦友留言

立即登入留言