golang文件服务器返回json接口

某个前端项目中需后端返回一系列接口,开始通过结构体序列化返回接送,后来发现每个接口都要写结构体,编译发布二进制比较麻烦,想到之前ng可配置访问文件路径返回json,golang 做静态文件服务器,访问json文件 当做接口 ,但是还带后缀才能访问到,做了简单适配 ,默认路径访问不到的话自动把路径后追加json 去寻找对应的文件 如下:

package main

import (
"net/http"
    "os"
)
type HTMLDir struct {
    d http.Dir
}

func main() {
    fs := http.FileServer(  HTMLDir{http.Dir("public/") } )

    http.Handle("/", http.StripPrefix("/", fs))
    http.ListenAndServe(":8000", nil)
}

func (d HTMLDir )  Open(name string) (http.File, error){
    f, err := d.d.Open(name)
    if os.IsNotExist(err) {
        // Not found, try with .html
        if f, err := d.d.Open(name + ".json"); err == nil {
            return f, nil
        }
    }
    return f, err
}

 参考:StackOverflow 

原文地址:https://www.cnblogs.com/lavin/p/13757990.html