package main
import (
"encoding/json"
"fmt"
"net/http"
"strconv"
. "github.com/soekchl/myUtils"
)
type Student struct {
Id int
Name string
phone string // 不显示
}
var (
students []Student
)
func main() {
students = append(students, Student{Id: 1, Name: "Luke1"})
students = append(students, Student{Id: 2, Name: "Luke2"})
students = append(students, Student{Id: 3, Name: "Luke3"})
students = append(students, Student{Id: 4, Name: "Luke4"})
students = append(students, Student{Id: 5, Name: "Luke5"})
students = append(students, Student{Id: 6, Name: "Luke6"})
http.HandleFunc("/", get)
Notice("开始监听:8080端口")
if err := http.ListenAndServe(":8088", nil); err != nil {
Error("接口服务器开启失败!", err)
}
}
func get(w http.ResponseWriter, r *http.Request) {
limit, _ := strconv.Atoi(r.FormValue("limit"))
if limit < 1 || limit > len(students) {
limit = len(students)
}
data, err := json.Marshal(students[:limit])
if err != nil {
Error("数据解析错误!", err)
fmt.Fprintf(w, "数据解析错误!")
return
}
fmt.Fprintf(w, string(data))
}监听 8088 端口 调用 http://localhost:8088/?limit=3
本文介绍了一个使用Go语言实现的学生信息API,该API通过HTTP请求返回指定数量的学生记录。通过设置查询参数limit来控制返回的学生数量,最大不超过现有学生记录总数。
858

被折叠的 条评论
为什么被折叠?



