मैं वर्तमान में clojure में कुछ REST API का सामान कर रहा हूँ अप खिलवाड़, और मैं compojure साथ ring.middleware.format पुस्तकालय का उपयोग कर रहा है और clojure डेटा संरचनाओं से JSON को बदलने के लिए।Clojure अंगूठी रैप-json-पैरामीटर JSON सरणियों
मैं, एक बहुत बड़ा मुद्दा हो रहा है कि में और JSON अंगूठी एप्लिकेशन पर पोस्ट किए गए सभी सरणियों पहले आइटम है कि सरणी में था के साथ प्रतिस्थापित करना होगा। अर्थात। यह इस
{
"buyer": "Test Name",
"items": {
"qty": 1,
"size": "M",
"product": "Green T-Shirt"
},
"address": "123 Fake St",
"shipping": "express"
}
यह सहित एक सरणी मूल तत्व है जब किसी भी सरणियों, के लिए यह करता है करने के लिए से
{
"buyer":"Test Name",
"items":[
{"qty":1,"size":"S","product":"Red T-Shirt"},
{"qty":1,"size":"M","product":"Green T-Shirt"}
],
"address":"123 Fake St",
"shipping":"express"
}
इस JSON इसे करने के लिए तैनात हो जाएंगे।
मैं clojure में निम्नलिखित कोड का उपयोग कर रहा json वापस जाने के लिए:
(defroutes app-routes
(GET "/"
[]
{:body test-data})
(POST "/"
{data :params}
{:body data}))
;{:body (str "Printing " (count (data :jobs)) " jobs")}))
(def app
(-> (handler/api app-routes)
(wrap-json-params)
(wrap-json-response)))
प्राप्त मार्ग सरणियों और आउटपुट के साथ कोई मुद्दों पर ठीक है, इसलिए यह मैं डेटा हो रही है या किसी भी तरह से हो गया है wrap-restful-params
मिडलवेयर।
कोई विचार?
धन्यवाद! यह बहुत अच्छा काम किया। यह एक आदर्श समाधान नहीं है, लेकिन यह काम करता है। –
ग्रेट। मैं मानता हूं कि यह सबसे अच्छा समाधान नहीं है। मैंने रिंग-जेसन-पैराम्स रिपोजिटरी को फोर्क किया है और समस्या को हल करने और ठीक करने की कोशिश करेगा। –
क्या आप कभी इस के नीचे पहुंच गए थे? मुझे रिंग-मिडलवेयर प्रारूप में एक समान समस्या मिली और एक मुद्दा खोला: https://github.com/ngrunwald/ring-middleware-format/issues/15 – noahlz