2 回答

TA貢獻(xiàn)1773條經(jīng)驗 獲得超3個贊
您可以定義一個只有您需要的鍵的類型,并將來自 GitHub API 的響應(yīng)解碼為該類型的變量,以便只保留您需要的鍵,然后將該變量寫入響應(yīng)。
例如:
package main
import (
"encoding/json"
"log"
"net/http"
"github.com/gorilla/mux"
)
type RelevantRepoData struct {
Id int `json:"id"`
Name string `json:"name"`
Url string `json:"url"`
Language string `json:"language"`
Description string `json:"description"`
}
func GetAllReposStars(w http.ResponseWriter, r *http.Request) {
enableCors(&w)
params := mux.Vars(r)
username := params["username"]
res, err := http.Get("https://api.github.com/users/" + username + "/starred")
var repoData RelevantRepoData
err = json.NewDecoder(res.Body).Decode(&repoData)
if err != nil {
log.Fatal(err)
}
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(repoData)
}

TA貢獻(xiàn)1921條經(jīng)驗 獲得超9個贊
如果您想將一些特定字段發(fā)送到前端但將來想在后端處理它們,您可以json:"-"在您的結(jié)構(gòu)中使用
例如:
type RelevantRepoData struct {
Irrelevant string `json:"-"`
Id int `json:"id"`
Name string `json:"name"`
Url string `json:"url"`
Language string `json:"language"`
Description string `json:"description"`
}
當(dāng)您返回此對象時,帶有的字段json:"-"將被忽略,但您仍然可以在后端使用它們。
- 2 回答
- 0 關(guān)注
- 180 瀏覽
添加回答
舉報