Я унаследовал чужой код для API, и, поскольку я не знаком с запросами, которые он получает, я пытаюсь распечатать или зарегистрировать их, чтобы увидеть их структуру. Из того, что я прочитал о Go, jsons декодируются с помощью Structs, но, поскольку я не знаю, как принимаются запросы, я не могу написать структуру.
Я попробовал следующее на основе c API, но они просто распечатывают мне пустую карту или вообще ничего:
func createBook(w http.ResponseWriter, r *http.Request) {
var result map[string]interface{}
_ = json.NewDecoder(r.Body).Decode(&result)
fmt.Println(result)
func createBook(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
var book Book
_ = json.NewDecoder(r.Body).Decode(&book)
buf := new(bytes.Buffer)
buf.ReadFrom(r.Body)
newStr := buf.String()
reader := strings.NewReader(newStr)
writter := os.Stdout
dec := json.NewDecoder(reader)
enc := json.NewEncoder(writter)
for {
var m map[string]interface{}
if err := dec.Decode(&m); err == io.EOF {
break
} else if err != nil {
log.Fatal(err)
}
if err := enc.Encode(&m); err != nil {
log.Println(err)
}
fmt.Println(m)
}
book.ID = strconv.Itoa(rand.Intn(100000000)) // Mock ID - not safe
books = append(books, book)
json.NewEncoder(w).Encode(book)
}
Есть ли какой-нибудь другой способ, которым он напечатал бы полученные json без предварительного знания стойки?