(相关资料图)
下面是一个完整的示例,展示如何使用Go-RESTful框架创建一个简单的RESTful API服务。这个示例提供了两个路由:GET /users和POST /users,分别用于获取用户列表和创建一个新用户。用户信息以JSON格式返回给客户端。
package mainimport ( "encoding/json" "log" "net/http" "github.com/emicklei/go-restful")// 用户结构体type User struct { ID int `json:"id"` Name string `json:"name"` Email string `json:"email"`}// 用户列表var users = []User{ {ID: 1, Name: "Alice", Email: "alice@example.com"}, {ID: 2, Name: "Bob", Email: "bob@example.com"}, {ID: 3, Name: "Charlie", Email: "charlie@example.com"},}// 获取所有用户func getUsers(request *restful.Request, response *restful.Response) { // 将用户列表转换为JSON格式,并写入HTTP响应 response.WriteEntity(users)}// 创建一个新用户func createUser(request *restful.Request, response *restful.Response) { // 从HTTP请求中读取用户信息 var user User err := request.ReadEntity(&user) if err != nil { response.WriteErrorString(http.StatusBadRequest, err.Error()) return } // 生成新的用户ID maxID := 0 for _, u := range users { if u.ID > maxID { maxID = u.ID } } user.ID = maxID + 1 // 将新用户添加到用户列表 users = append(users, user) // 返回新用户信息 response.WriteHeaderAndEntity(http.StatusCreated, user)}func main() { // 创建一个新的WebService对象 ws := new(restful.WebService) // 定义路由 ws.Route(ws.GET("/users").To(getUsers)) ws.Route(ws.POST("/users").To(createUser)) // 将WebService对象注册到RESTful框架中 restful.Add(ws) // 启动HTTP服务器 log.Fatal(http.ListenAndServe(":8080", nil))}
在这个示例中,我们定义了一个名为User的结构体,用于表示用户信息。我们还定义了一个名为users的变量,用于存储所有用户的列表。
我们编写了两个处理函数:getUsers和createUser。getUsers函数用于返回所有用户的列表,createUser函数用于创建一个新用户。这两个处理函数都遵循了Go-RESTful的处理函数签名,并使用了Request和Response对象来处理HTTP请求和响应。
我们还创建了一个新的WebService对象“ws”,并使用其Route方法来定义了两个路由,分别是GET /users和POST /users。这两个路由分别指向了不同的处理函数getUsers和createUser。
最后,我们将WebService对象注册到Go-RESTful框架中,并启动了HTTP服务器。
上一篇:moo音乐怎么查看隐私?moo音乐查看隐私教程 环球新资讯
下一篇:最后一页
X 关闭
X 关闭
5月20日,在建的广西最长跨海大桥——龙门大桥东主塔顺利封顶。至此,龙门大桥东、西两岸主塔全部实现封顶,标志着该桥进入缆索系统施工阶
中新网上海3月30日电 (记者 陈静)上海正面临常态化防控以来疫情形势最严峻复杂的挑战,单日新增阳性感染者数量不断刷新纪录。记者30日获
中新网3月30日电 据国家地震台网官方微博消息,中国地震台网正式测定:3月30日18时14分在新疆和田地区皮山县(北纬36 01度,东经77 89度)发
上海市委常委会今天上午(3月30日)举行会议,听取当前疫情应急处置和核酸筛查相关工作汇报,研究部署下一步疫情防控重点工作。市委书记
(抗击新冠肺炎)江苏无锡一男子隐匿行程轨迹被警方立案侦查 中新网无锡3月30日电 (记者 孙权)3月30日,无锡市在“应检尽检”人员核
(抗击新冠肺炎)官方称吉林市疫情扩散势头得到遏制 中新网吉林3月30日电 (记者 石洪宇)记者30日从吉林市政府新闻办召开的疫情防控
中新网唐山3月30日电 (白云水 孟潮)3月30日,河北省唐山市召开新冠肺炎疫情防控工作新闻发布会通报称,3月29日0时至24时,唐山市新增
浙江省嘉兴市秀洲区新型冠状病毒感染肺炎疫情防控指挥部办公室发布通告: 3月30日上午,秀洲区发现1例新冠肺炎阳性感染者,该感染者
今天(3月30日)下午,新疆乌鲁木齐市人民政府新闻办公室召开疫情防控新闻发布会,通报乌鲁木齐市新冠肺炎疫情和疫情防控最新情况。会上
中新网天津3月30日电 (记者 王君妍)记者30日从天津市水务局获悉,为充分发挥河湖长制优势,近日,天津市将南水北调中线天津干线(天津