Go-Json-Rest 示例项目教程

Go-Json-Rest 示例项目教程

go-json-rest-examplesExamples for go-json-rest项目地址:https://gitcode.com/gh_mirrors/go/go-json-rest-examples

1. 项目的目录结构及介绍

Go-Json-Rest 示例项目的目录结构如下:

go-json-rest-examples/
├── api-and-static/
├── api-versioning/
├── auth-basic/
├── cors/
├── countries/
├── force-ssl/
├── gae/
├── gorm/
├── graceful/
├── helloworld/
├── jsonp/
├── jwt/
├── lookup/
├── newrelic/
├── non-json-payload/
├── spdy/
├── statsd/
├── status-auth/
├── status/
├── streaming/
├── users/
├── websocket/
├── LICENSE
└── README.md

目录介绍

  • api-and-static/: 展示如何结合 API 和静态文件服务。
  • api-versioning/: 展示如何进行 API 版本控制。
  • auth-basic/: 展示基本的 HTTP 认证。
  • cors/: 展示如何处理跨域资源共享(CORS)。
  • countries/: 展示如何处理国家数据。
  • force-ssl/: 展示如何强制使用 SSL。
  • gae/: 展示如何在 Google App Engine 上运行。
  • gorm/: 展示如何与 GORM 集成。
  • graceful/: 展示如何优雅地关闭服务器。
  • helloworld/: 展示基本的 "Hello World" 示例。
  • jsonp/: 展示如何处理 JSONP 请求。
  • jwt/: 展示如何使用 JWT 进行认证。
  • lookup/: 展示如何进行数据查找。
  • newrelic/: 展示如何与 New Relic 集成。
  • non-json-payload/: 展示如何处理非 JSON 负载。
  • spdy/: 展示如何使用 SPDY 协议。
  • statsd/: 展示如何与 StatsD 集成。
  • status-auth/: 展示如何进行状态认证。
  • status/: 展示如何返回状态信息。
  • streaming/: 展示如何进行流式传输。
  • users/: 展示如何处理用户数据。
  • websocket/: 展示如何使用 WebSocket。
  • LICENSE: 项目许可证。
  • README.md: 项目说明文档。

2. 项目的启动文件介绍

每个示例目录中都有一个 main.go 文件,这是项目的启动文件。以下是 helloworld 示例的启动文件内容:

package main

import (
    "log"
    "net/http"
    "github.com/ant0ine/go-json-rest/rest"
)

func main() {
    api := rest.NewApi()
    api.Use(rest.DefaultDevStack...)
    router, err := rest.MakeRouter(
        rest.Get("/message", func(w rest.ResponseWriter, req *rest.Request) {
            w.WriteJson(map[string]string{"Body": "Hello World!"})
        }),
    )
    if err != nil {
        log.Fatal(err)
    }
    api.SetApp(router)
    log.Fatal(http.ListenAndServe(":8080", api.MakeHandler()))
}

启动文件介绍

  • rest.NewApi(): 创建一个新的 API 实例。
  • api.Use(rest.DefaultDevStack...): 使用默认的开发堆栈。
  • rest.MakeRouter(...): 创建路由器并定义路由规则。
  • api.SetApp(router): 设置 API 应用。
  • http.ListenAndServe(":8080", api.MakeHandler()): 启动 HTTP 服务器并监听端口 8080。

3. 项目的配置文件介绍

Go-Json-Rest 示例项目通常不包含独立的配置文件,而是通过代码直接配置。例如,helloworld 示例中的配置是通过代码实现的:

api := rest.NewApi()
api.Use(rest.DefaultDevStack...)
router, err := rest.MakeRouter(
    rest.Get("/message", func(w rest.ResponseWriter, req *rest.Request) {
        w.WriteJson(map[string]string{"

go-json-rest-examplesExamples for go-json-rest项目地址:https://gitcode.com/gh_mirrors/go/go-json-rest-examples

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卢迁铎Renee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值