mirror of
https://github.com/gin-gonic/gin.git
synced 2025-10-15 13:02:14 +08:00
Added support for JSON-API content-type.
This commit is contained in:
parent
22f118f3b6
commit
3941fb57a2
@ -14,17 +14,28 @@ type (
|
|||||||
Data interface{}
|
Data interface{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JSONAPI struct {
|
||||||
|
Data interface{}
|
||||||
|
}
|
||||||
|
|
||||||
IndentedJSON struct {
|
IndentedJSON struct {
|
||||||
Data interface{}
|
Data interface{}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
var jsonContentType = []string{"application/json; charset=utf-8"}
|
var (
|
||||||
|
jsonContentType = []string{"application/json; charset=utf-8"}
|
||||||
|
jsonAPIContentType = []string{"application/vnd.api+json"}
|
||||||
|
)
|
||||||
|
|
||||||
func (r JSON) Render(w http.ResponseWriter) error {
|
func (r JSON) Render(w http.ResponseWriter) error {
|
||||||
return WriteJSON(w, r.Data)
|
return WriteJSON(w, r.Data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (r JSONAPI) Render(w http.ResponseWriter) error {
|
||||||
|
return WriteJSONAPI(w, r.Data)
|
||||||
|
}
|
||||||
|
|
||||||
func (r IndentedJSON) Render(w http.ResponseWriter) error {
|
func (r IndentedJSON) Render(w http.ResponseWriter) error {
|
||||||
w.Header()["Content-Type"] = jsonContentType
|
w.Header()["Content-Type"] = jsonContentType
|
||||||
jsonBytes, err := json.MarshalIndent(r.Data, "", " ")
|
jsonBytes, err := json.MarshalIndent(r.Data, "", " ")
|
||||||
@ -39,3 +50,8 @@ func WriteJSON(w http.ResponseWriter, obj interface{}) error {
|
|||||||
w.Header()["Content-Type"] = jsonContentType
|
w.Header()["Content-Type"] = jsonContentType
|
||||||
return json.NewEncoder(w).Encode(obj)
|
return json.NewEncoder(w).Encode(obj)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func WriteJSONAPI(w http.ResponseWrite, obj interface{}) error {
|
||||||
|
w.Header()["Content-Type"] = jsonAPIContentType
|
||||||
|
return json.NewEncode(w).Encode(obj)
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user