Envoyer des données binaires à une application RESTful
Je suis en train de travailler sur une bonne application web (Django+Piston). Le POSTE demande envoie des données codées avec Json à l'application web. Cela fonctionne très bien pour tous mes texte uniquement des tables de base de données, mais j'ai aussi une table qui stocke les fichiers texte et binaire. Quelle est la meilleure façon de publier le texte et les données binaires à une bonne application?
source d'informationauteur pinky0x51
Vous devez vous connecter pour publier un commentaire.
Vous pouvez soit en Base64 encode et l'envoyer comme une chaîne de caractères dans un message JSON, ou vous pouvez l'afficher ou METTRE le binaire comme une ressource distincte et s'y référer par l'ID de l'URL ou dans le JSON message. La dernière approche est une sorte de bande de canal de données qui est assez commune dans les XML basés sur des protocoles (par exemple, le chat vocal en utilisant XMPP).
Vous pourriez même assez facilement soutenir un modèle hybride, dans laquelle:
{"base64":"OGZmNjJmOWNhYzFlODE0NDBjYmYzNjhjYz..."}
;{"ref":"http://myserver.com/bits/E4304205-29B7-48EE-A359-74250E19EFC4"}
.Pour éviter le double-POST nécessaires pour une référence externe binaires, vous pouvez concevoir un protocole qui permet JSON binaire et de trucs à être mélangés dans un même transfert. Mais le gain supplémentaire est peu probable de les récompenser de manière adéquate que le niveau de l'effort.
Enfin, à partir d'une conception de point de vue, s'en tenir à la solution la plus simple jusqu'à ce que cela devient un problème.