Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 01-06-2012 15:48:12

__fabrice
Membre
Date d'inscription: 25-04-2007
Messages: 131

Webservice et/ou API ?, Zend_Rest ou autres ? [RESOLU]

Bonjour,

Je voudrais mettre en place un API, ou plutot un webservice avec ZF. J'ai lu pas mal de sujet sur çà, et je n'arrive pas à faire un choix.

Je fourni une api ou un webservice pour que les developpeurs (pas forcement avec Zend) puissent récupérer des infos de la bdd, en xml ou json.
Doit-on faire çà en GET (comme l'api de twitter par exemple), url visible ?

Le composant Zend_Rest est-il le plus pratique, le plus sécurisé ?

Merci
Fabrice

Dernière modification par __fabrice (18-06-2012 20:51:14)

Hors ligne

 

#2 04-06-2012 09:35:26

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: Webservice et/ou API ?, Zend_Rest ou autres ? [RESOLU]

tu peut faire du soap avec zend cela marche super bien smile


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#3 04-06-2012 09:44:31

__fabrice
Membre
Date d'inscription: 25-04-2007
Messages: 131

Re: Webservice et/ou API ?, Zend_Rest ou autres ? [RESOLU]

Salut,
Ha ok, Soap... On me conseille plutot REST (Zend_Rest), qui est plus facile parait-il. As tu des exemples avec Zend et Soap ?

Merci
Fabrice

Hors ligne

 

#4 04-06-2012 15:45:52

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: Webservice et/ou API ?, Zend_Rest ou autres ? [RESOLU]

soap c'est super simple un controller client et un controller server .

Code:

<?php


require_once  APPLICATION_PATH.'/models/webservice.php';

 ini_set("soap.wsdl_cache_enabled", "0");
require_once LIBRARY_PATH.'/Zend/Soap/AutoDiscover.php';
require_once LIBRARY_PATH.'/Zend/Soap/Server.php';
class WsController extends Zend_Controller_Action {
 
    public function indexAction() {
        
        //echo "lol";
        if (is_null($this->getRequest()->getParam('wsdl'))) {
            // Traitement de la requ�te
            
        
            $_config= new Zend_Config_Ini(PROJET_PATH.'/configs/config.ini',"urlws",true);
            
        
            $server = new Zend_Soap_Server($_config->urlws->url.);
            //$server->setObject(new EasyWifi_Service());
            $server->setClass('webservice');
            $server->handle();
            
            
            
        } else {
            // Retour de la WSDL
            //'Zend_Soap_Wsdl_Strategy_ArrayOfTypeSequence'
            $wsdl = new Zend_Soap_AutoDiscover();
            
/*            
                $wsdl->setBindingStyle(
                                        array('style' => 'rpc')
                                        );
            $wsdl->setOperationBodyStyle(
                                        array('use' => 'encoded'
                                        ));*/
            $wsdl->setClass('webservice');
    
            $wsdl->handle();
        }
        exit;
    }
 
}


?>

exemple de code controller Wscontroller . La doc soap pour Zend est super simple et tu as un Webservice qui fonctionne . Zend_Rest j'ai jamais réussi à le faire fonctionner lol mais faudrait que j'essai de nouveau smile


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#5 04-06-2012 19:51:47

__fabrice
Membre
Date d'inscription: 25-04-2007
Messages: 131

Re: Webservice et/ou API ?, Zend_Rest ou autres ? [RESOLU]

Je teste REST comme j'ai vu dans divers exemple, dans un contexte MVC :

Code:

<?php

 class ApiController extends Zend_Rest_Controller {

  // Handle GET and return a list of resources
    public function indexAction() {}

    // Handle GET and return a specific resource item
    public function getAction() {}

    // Handle POST requests to create a new resource item
    public function postAction() {}

    // Handle PUT requests to update a specific resource item
    public function putAction() {}

    // Handle DELETE requests to delete a specific item
    public function deleteAction() {}
}

Et en passant par curl pour tester

Code:

curl http://zf.test/api/

j'ai ce message

Code:

Fatal error: Class ApiController contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Zend_Rest_Controller::headAction) in

Je me suis qu'il fallait rendre la classe abstraite et que la classe qui hérite est celle qui doit servir d'API, mais çà change rien.

Une idée ?,

Fabrice

Dernière modification par __fabrice (04-06-2012 19:52:38)

Hors ligne

 

#6 18-06-2012 20:50:45

__fabrice
Membre
Date d'inscription: 25-04-2007
Messages: 131

Re: Webservice et/ou API ?, Zend_Rest ou autres ? [RESOLU]

Salut,

Il faut juste implémenter la méthode "headAction"

Fabrice

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages