Gowebで静的ページとRESTful APIを両方ともハンドリングする

March 1, 2013

この記事はQiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。

http://localhost:8080/」でアクセスされたら、index.htmlを「http://localhost:8080/api/リソース名」でアクセスされたらRestful APIでハンドリングするには以下の様にハンドリングすればいい。

package main

import (
	"fmt"
	"github.com/stretchrcom/goweb/goweb"
	"net/http"
)

func main() {

	// Gowebのコントローラーの登録とかをする

	// RESTful APIのハンドリング -> Gowebへ
	http.Handle("/api/", http.StripPrefix("/api", goweb.DefaultHttpHandler))

	// 静的ファイルのハンドリング -> ファイルサーバへ
	http.Handle("/", http.FileServer(http.Dir("static")))

	// Webサーバの開始
	http.Handle("/", http.FileServer(http.Dir("static")))
}