分分钟使用 gorpc 开发 http 服务

gorpc 是一款非常简单、易用、高性能的微服务框架,使用 gorpc 可以 分分钟开发出 http 服务。gorpc 源码非常简单,可以参考:gorpc

一、server 创建

1、第一步,创建 gorpc server ,vim server.go ,如下:

func main() {
	opts := []gorpc.ServerOption{
		gorpc.WithAddress("127.0.0.1:8000"),
		gorpc.WithProtocol("http"),
		gorpc.WithNetwork("tcp"),
		gorpc.WithTimeout(time.Millisecond * 2000),
	}
	s := gorpc.NewServer(opts ...)
	s.ServeHttp()
}

2、第二步,实现一个 http handler,如下:

func sayHello(w http.ResponseWriter, r *http.Request) {
	r.ParseForm()
	fmt.Println(r.Form)
	fmt.Println("path", r.URL.Path)
	fmt.Println("scheme", r.URL.Scheme)
	fmt.Println(r.Form["url_long"])
	for k, v := range r.Form {
		fmt.Println("key:", k)
		fmt.Println("val:", strings.Join(v, ""))
	}
	w.Write([]byte("world"))
}

3、第三部,路由注册

	func init() {
		ghttp.HandleFunc("GET","/hello", sayHello)
	}

完整代码如下:

package main

import (
	"fmt"
	"net/http"
	"strings"
	"time"

	"github.com/lubanproj/gorpc"
	ghttp "github.com/lubanproj/gorpc/http"
)

func init() {
	ghttp.HandleFunc("GET","/hello", sayHello)
}


func main() {
	opts := []gorpc.ServerOption{
		gorpc.WithAddress("127.0.0.1:8000"),
		gorpc.WithProtocol("http"),
		gorpc.WithNetwork("tcp"),
		gorpc.WithTimeout(time.Millisecond * 2000),
	}
	s := gorpc.NewServer(opts ...)
	s.ServeHttp()
}

func sayHello(w http.ResponseWriter, r *http.Request) {
	fmt.Println("path", r.URL.Path)
	w.Write([]byte("world"))
}

二、运行 server

运行 go run server.go ,服务在 127.0.0.1:8000 地址监听。在浏览器访问 127.0.0.1:8000 或者 curl 127.0.0.1:8000 。可以看到页面会输出 world !

详细的 demo 可以参考:http demo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

diubrother

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

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

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

打赏作者

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

抵扣说明:

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

余额充值