Golang Go语言中用golang写http JSON接口的同学可以试试这个迷你库
主要是用 nex.Handler 把一个处理业务逻辑的 Endpoint 转成一个符合 http.Handler 接口的结构, 在请求过来的时候自动将 Request.Body 的内容 Unmarshl 为 golang 的结构, 函数返回时自动将返回的结果 Marshal 为 JSON 结构, 传回客户端.
Talk is cheap, show you the code.
package main
import (
“errors”
“fmt”
“net/http”
"github.com/chrislonng/nex"
)
type LoginRequest struct {
Username string json:"username"
Password string json:"password"
}
type LoginResponse struct {
Result string json:"result"
}
type ErrorMessage struct {
Code int json:"code"
Error string json:"error"
}
func main() {
// customize error encoder
nex.SetErrorEncoder(func(err error) interface{} {
return &ErrorMessage{Code: -1, Error: err.Error()}
})
mux := http.NewServeMux()
mux.Handle("/test1", nex.Handler(test1))
mux.Handle("/test2", nex.Handler(test2))
http.ListenAndServe(":8080", mux)
}
// regular response
func test1(m *LoginRequest) (*LoginResponse, error) {
fmt.Printf("%+v\n", m)
return &LoginResponse{Result: “success”}, nil
}
// error response
func test2(m *LoginRequest) (*LoginResponse, error) {
fmt.Printf("%+v\n", m)
return nil, errors.New(“error test”)
}
觉得有用就 Star 一下吧
Golang Go语言中用golang写http JSON接口的同学可以试试这个迷你库
更多关于Golang Go语言中用golang写http JSON接口的同学可以试试这个迷你库的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
妹子,你还需要自己动手写代码?
更多关于Golang Go语言中用golang写http JSON接口的同学可以试试这个迷你库的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
楼主估计用的女神头像
前女友
现任看到会是什么感觉?
已经没人关注楼主写的东西了,楼主,讲出你头像的故事吧
你就是我女朋友的前任啊? 世界真小
子湄是个好姑娘,我会替你照顾好她的
你发我女朋友微博干啥? 请保护他人的隐私
楼这么快就歪了
一帮程序员屌丝又在盗图吹女友了
7 楼已经算对楼主好的了,之前我在百度里面看过扒皮扒得更惨的
哟,好贴,赶紧收藏下,下午回来看
好帖(tu), mark
好强你们,话说是怎么根据图片翻出这么多信息的?
百度识图,谷歌识图。
楼主,我不是来拆台的…
要不是看了 7 楼我就差点信了 6 楼。
拜托了
哈哈哈,这楼歪的可以啊。下班刷新再看看
留名看戏
换头像正楼
楼主前女友哆啦 A 梦?黑人问好.gif
之前是六楼的妹子
v2ex 要变发车场了吗
来晚了吗。我要上车。
在Go语言中,开发HTTP JSON接口时,选择合适的库能够显著提升开发效率和代码的可读性。对于寻找迷你库的开发者,我推荐考虑一些轻量级且功能齐全的第三方库,这些库通常设计简洁,易于集成,同时提供必要的JSON处理和HTTP请求/响应功能。
一个值得尝试的迷你库是jsonhttp
(请注意,这只是一个示例名称,实际中可能有多个类似的库)。这类库通常具备以下特点:
- 轻量级:不引入过多依赖,减小项目体积。
- 易用性:提供简洁的API,方便快速上手。
- 功能全面:支持JSON的编码和解码,以及HTTP请求和响应的处理。
- 错误处理:内置统一的错误处理机制,减少重复代码。
使用这样的库,你可以轻松构建RESTful API,处理JSON数据,并管理HTTP请求和响应。例如,通过简单的函数调用,你可以实现JSON数据的序列化和反序列化,同时发送和接收HTTP请求。
为了更具体地了解这些库的使用,我建议你查阅相关的文档和示例代码。此外,也可以在Go社区和论坛上寻求其他开发者的推荐和意见。
总之,选择适合的迷你库能够助你高效开发HTTP JSON接口,提升代码质量和开发体验。希望这些建议对你有所帮助!