Ho letto la specifica edn e voglio integrarla nella mia applicazione. Tuttavia, non so come trasferire le richieste di edn tra clojure e client. Inseriamo un'applicazione/edn del tipo di contenuto nell'intestazione della risposta e inviamo semplicemente la stringa di output prn?Esiste una sorta di risposta edn canonica che possiamo usare per l'anello?
risposta
Anche se non è ancora stato accettato da IANA (14 giugno 2013), il corretto tipo di contenuto è application/edn
. Per fornire una stringa valida per l'oggetto clojure, utilizzare (pr-str obj)
. Per un servizio web, il metodo di codifica e decodifica dipende dal tuo framework web e dalle tue esigenze.
Pedestal supporta l'analisi di edn in una chiave :edn-params
nella sua mappa richiesta tramite l'utilizzo dell'intercettore body-params
. L'invio di oggetti clojure come edn viene gestito automaticamente se i vostri corpi di risposta non sono stringhe. Per la negoziazione del contenuto, vedere pedestal-content-negotiation.
Per il middleware ad anello, ring-edn analizza edn in una chiave :edn-params
, ma non esegue alcuna modifica in uscita. ring-middleware-format fornisce l'analisi di una manciata di formati diversi nella chiave :body-params
e ha una raccolta di middleware che può essere utile anche per le risposte. Ci sono una manciata di altri progetti di middleware come questo.
- 1. Esiste una libreria per urllib2 per python che possiamo scaricare?
- 2. Esiste una sorta di implementazione di Interceptor in sqlite
- 3. Forma canonica di campo
- 4. AWS - Che richiesta canonica è davvero?
- 5. Possiamo usare una variabile python per contenere un intero file?
- 6. Esiste una sorta di 'git rebase --dry-run', che mi avviserebbe in anticipo dei conflitti?
- 7. Possiamo usare & in url?
- 8. come possiamo usare startActivityforResult() per l'intento dell'email?
- 9. SELECT DISTINCT implica una sorta di risultati
- 10. Possiamo usare pom.xml in ANT
- 11. possiamo usare xpath con BeautifulSoup?
- 12. javascript sorta di matrice raddoppiare sorta
- 13. Funzione zip dell'unione canonica esterna
- 14. Possiamo usare Foundation con HTML5Boilerplate?
- 15. Cosa possiamo usare al posto di nstimer?
- 16. Possiamo usare thread all'interno di [STAThread] main?
- 17. GCM id canonica
- 18. Possiamo usare join per due diverse tabelle di database?
- 19. Come posso clonare/duplicare una sorta di UIView per iOS?
- 20. Possiamo usare QT con C# per creare GUI?
- 21. soluzione canonica per sfuggire argomenti della riga di comando NET
- 22. Possiamo usare insieme REST + Event Sourcing + CQRS
- 23. Perché possiamo usare array con riferimento generico
- 24. Quando possiamo usare il metodo ClearAllPools?
- 25. Possiamo usare JSch per la comunicazione basata su chiave SSH?
- 26. sorta una HashMap dal valore intero disc
- 27. Devo usare JSON o AJAX per i dati di risposta?
- 28. possiamo usare e operatore per combinare più eventi jQuery
- 29. Possiamo usare l'app Github mac con GitLab?
- 30. c'è qualche alcuna operazione op in Objective-C che possiamo usare solo per impostare breakpoint
Forse questo progetto di fogus può darti un punto di partenza o una guida: [ring-edn] (https://github.com/fogus/ring-edn). –
Vedere anche [anello-middleware-format] (https://github.com/ngrunwald/ring-middleware-format). – noahlz