Ladon est un cadre basé sur Python pour exposer les fonctions à plusieurs types de services web & nbsp;. Par exemple SOAP, jsonrpc, arguments HTTP POST, etc.
1. Mettre en œuvre ...
Mettre en œuvre votre classe de service décorer les méthodes que vous souhaitez exposer avec le décorateur ladonize.
2. Enroulez-le ...
Enveloppez votre service en utilisant la classe d'application WSGI de Ladon ...
3. exposer ...
l'application WSGI aide minimale WSGI serveur classe de Ladon, Apache2 / mod_wsgi ou un autre middleware WSGI ...
Ce qui est nouveau dans cette version:
< ul>
Ce qui est nouveau dans la version 0.8.1:
- Ajout de réflexion à la faute objets de réponse de sorte qu'il est possible de retracer défauts retour à des demandes spécifiques.
Quoi de neuf dans la version 0.7.3:
- Ajout fascilities forestières services à l'échelle via le constructeur de LadonWSGIApplication. Niveaux de journal préliminaires sont:
- ladon.server.NO_LOGGING = 0
- ladon.server.LOG_REQUEST_ACCESS = 1
- ladon.server.LOG_REQUEST_DICT = 2
- ladon.server.LOG_RESPONSE_DICT = 4
- ladon.server.LOG_EXECUTION_TIME = 8
Ce qui est nouveau dans la version 0.7.2:
- Ajout de la possibilité de choisir entre utiliser les types d'édition différentes lors de l'écriture de documentation en ligne pour la documentation de l'API en ligne. Éditeurs possibles sont & quot; & quot ;, première & quot; pré & quot; et & quot; & quot docutils; - Exemple:
- ladonize ([PORTABLE_STRING], rtype = [File])
- télécharger def (auto, les noms):
- & quot; & quot; & quot;
- publisher: docutils
- - test
- - Test 2
- + ------------ + ------------ + ----------- +
- | Rubrique 1 | 2 Header | Header 3 |
- + ============ ============ + + + ===========
- | corps ligne 1 | Colonne 2 | colonne 3 |
- + ------------ + ------------ + ----------- +
- | corps ligne 2 | Cellules peut se étendre colonnes |.
- + ------------ + ------------ + ----------- +
- | corps ligne 3 | cellules peuvent | - Cellules |
- + ------------ + lignes de portée. | - Contenir |
- | corps ligne 4 | | - blocs. |
- + ------------ + ------------ + ----------- +
- Kode eksempel ::
- Test de def (auto):
- print & quot; oijfwe & quot;
- Télécharger plusieurs fichiers à la fois. Pour chaque nom dans les noms du service
- tente de trouver un fichier en service / upload qui lui correspond. Si un nom ne est pas
- ont un fichier correspondant, il est ignoré.
- nomsparam: Une liste des noms de fichiers
- rtype: Retourne une liste d'objets File
- & quot; & quot; & quot;
- upload_dir mondiale
- réponse = []
- pour le nom dans les noms:
- f = File ()
- f.name = nom
- f.data = fixation (ouverte (join (upload_dir, nom), 'rb'))
- réponse + = [f]
- la réponse de retour
Ce qui est nouveau dans la version 0.7.1:
- Correction d'un bug 974655 Ajouté via la fonction proxy pour Python jsonwsp client
Ce qui est nouveau dans la version 0.7.0:
- Correction de bugs 926442 et 926445
Quoi de neuf dans la version 0.6.6:
- Nouveau dictionnaire basé type définition pour LadonType attributs. Jusqu'à la version 0.6.6 tous les attributs LadonType avait pour référencer un type ou une liste de taper directement. Avec les définitions de type dictionnaire, il est possible pour le développeur de services de passer des propriétés plus détaillées sur les attributs, comme les lignes de documentation, la valeur par défaut ou si elle peut être nulle (Aucun) ou non. LadonType ancienne définitions d'attributs sont toujours valables et donc ce changement offre compatibilité ascendante. L'intégration de la valeur NULL est construit dans les interfaces jsonwsp et du savon. Exemple:
- Personne de classe (LadonType):
- username = PORTABLE_BYTES # ancienne
- les groupes = [PORTABLE_BYTES]
- portable = {# nouveau style
- 'type': PORTABLE_BYTES,
- 'nullable': Ce est vrai,
- 'doc':. & Quot; numéro de téléphone mobile de l'utilisateur & quot; }
- valid_user = {
- 'type': bool,
- 'nullable ": Faux,
- 'par défaut': Faux,
- 'doc': ['Est-utilisateur valide.', 'Si pas donné, l'utilisateur ne est pas valide.']}
Quoi de neuf dans la version 0.6.5:
- La gestion des erreurs enfin mis en œuvre. interfaces doivent maintenant mettre en œuvre un FaultHandler hériter la classe BaseFaultHandler. Fault gestionnaires ont été mis en place pour les deux interfaces SOAP et JSONWSP. Toutes les exceptions qui occure sous l'invocation de méthode sont capturés par le répartiteur de Ladon et envoyés au gestionnaire interface faute. Utilisez exceptions ServerFault ou ClientFault mises en œuvre dans ladon.exceptions.service pour élever soit une panne serveur ou à blâmer un défaut sur le client. Autres exceptions qui pourraient occure selon la méthode de l'appel de service sont considérés comme des défauts de serveur non gérés, et convertis en telle par le répartiteur.
- Nouveau attachement format de référence CIDX :. Ce format de la demande de poste client qui ont des références aux pièces de fixation par index plutôt que Content-Id let.
Quoi de neuf dans la version 0.6.4:
- JSONWSPClient __init __ (description = Aucun, url = Aucun ) prend Description URL comme premier argument ou un mot clé & quot; & quot ;. Description Un nouvel argument de mot & quot; URL & quot; peut être transmise à la place de la description si l'API de jsonwsp est connu. Le compromis d'utiliser l'url est qu'il n'y a pas créé toutes les méthodes d'espace réservé sur l'objet JSONWSPClient, au lieu vous devez appeler des méthodes via la méthode call_method ().
- CustomResponse - Ladon offre maintenant la possibilité de définir une réponse personnalisée sur les méthodes spécifiées. Par exemple, vous pouvez faire Ladon répondre avec une réponse de téléchargement du navigateur sur une méthode de service spécifique. Exemple:
- classe HTTPAttachmentResponse (CustomResponse):
- def __init __ (self, fileobj, nom de fichier, taille du fichier, blocksize = 4096):
- self.fileobj = fileobj
- self.filename = nom de fichier
- self.filesize = taille du fichier
- self.blocksize = blocksize
- response_headers def (auto):
- # TODO: Poignée encodages des noms de fichiers
- imprimer [('Content-Disposition', 'attachement; filename = & quot;% s & quot;'% self.filename.encode ('utf-8')),
- ('Content-Type', 'application / force téléchargement »),
- ('Content-Length ", str (self.filesize))]
- retour [
- ('Content-Disposition', 'attachement; filename = & quot;% s & quot;'% self.filename.encode ('utf-8')),
- ('Content-Type', 'application / force téléchargement »),
- ('Content-Length ", str (self.filesize))]
- def response_data (auto):
- retour iter (lambda: self.fileobj.read (self.blocksize), '')
- Bug 852234 -. Supprimé nillable et minOccurs attributs à partir d'éléments de partie SOAP
- Bug 861193 - Suppression '_' pour '-'. Conversion pour les éléments de complexType
- Bug 884431 -. Fixe type booléen sur les objets de réponse SOAP
Exigences :
- Python
Commentaires non trouvées