मैंने Apiary के साथ काम करने की कोशिश की और JSON को नकली सर्वर भेजने के लिए एक सार्वभौमिक टेम्प्लेट बनाया और यह कोड है:
package main
import (
"encoding/json"
"fmt"
"github.com/jmcvetta/napping"
"log"
"net/http"
)
func main() {
url := "http://restapi3.apiary.io/notes"
fmt.Println("URL:>", url)
s := napping.Session{}
h := &http.Header{}
h.Set("X-Custom-Header", "myvalue")
s.Header = h
var jsonStr = []byte(`
{
"title": "Buy cheese and bread for breakfast."
}`)
var data map[string]json.RawMessage
err := json.Unmarshal(jsonStr, &data)
if err != nil {
fmt.Println(err)
}
resp, err := s.Post(url, &data, nil, nil)
if err != nil {
log.Fatal(err)
}
fmt.Println("response Status:", resp.Status())
fmt.Println("response Headers:", resp.HttpResponse().Header)
fmt.Println("response Body:", resp.RawText())
}
यह कोड JSON को ठीक से नहीं भेजता है, लेकिन मुझे नहीं पता कि क्यों। JSON स्ट्रिंग हर कॉल में अलग हो सकती है। मैं इसके Struct
लिए उपयोग नहीं कर सकता ।
json.Marshall
उस पर कॉल करते हैं, मुझे यकीन नहीं है कि यह उसके लिए काम क्यों नहीं कर रहा था।