En utilisant les URLs "Propres" dans les API RESTful
"Les URLs "propres", également connu comme "Repos Url" sont conviviaux, purement structurel, et ne contiennent pas de chaîne de requête. Au lieu de cela ils ne contiennent que le chemin de la ressource.
c'est à dire: "http://twitter.com/users/show/"+username+".json"
Questions au sujet de serveur-côté fonctionnalités:
-
Je dois faire un unique côté serveur de l'API de script pour chaque répertoire?
-
Puis-je transférer toutes les demandes pour un seul script, si oui, comment puis-je
tirer des informations utiles à partir de la Propre structure de l'URL ($_GET['url_structure'])? -
Pourquoi twitter appel à une .fichier json
qui certainement n'existe pas. Il doit être générées sur demande. Comment
ce travail? Cela me mène à croire que la réponse à la question
2 est oui.
- Les urls "propres" n'ont rien à voir avec les api REST. Ils sont juste un bon moyen d'embellir les urls qui seraient autrement laid chaînes de requête. Ils sont généralement mis en œuvre à l'aide de mod_rewrite pour prendre l'url propre et en interne métamorphosons à dos une chaîne de requête version.
Vous devez vous connecter pour publier un commentaire.
1) Pas si vous utilisez un cadre Reposant comme RecessPHP ou si vous utilisez un mod_rewrite règle dans votre .fichier htaccess pour rediriger toutes les requêtes à l'API d'un seul fichier PHP (connu sous le nom de contrôleur frontal).
.htaccess
api.php
2) Vous pouvez utiliser le module rewrite d'apache pour rediriger toutes les requêtes à l'api à un fichier PHP qui gère. En fonction de votre configuration d'apache, l'original de la demande (RESTful) url sera stockée dans une variable de serveur en PHP, je crois que c'est
$_SERVER['REQUEST_URI']
. Bien sûr, vous pourriez tout aussi bien passer le long d'un$_GET[]
variable PHP qui contenait le repos de l'url..htaccess
api.php
3) Twitter (et beaucoup d'autres Api) utiliser ce parce que c'est un moyen pratique de fournir le format d'une application attend arrière à partir d'une API. Toutes les requêtes à l'API sont redirigés vers un fichier PHP qui s'occupe de la création de tous les fichiers et faisant écho à leur contenu à la sortie. Le fichier n'est jamais stocké sur le serveur (sauf si il est mis en cache).
De Bonnes Ressources
Une note sur RecessPHP. C'est certainement un excellent outil et je voudrais vous encourager à regarder (peut-être à la source pour avoir une idée de la façon dont il traite les choses), mais cela dit, il semble un peu maladroit pour moi. Le fait que le chemin d'accès noms sont écrits dans les commentaires spéciaux semble pas très-PHP pour moi. J'avais écarter de cela, et je ne dirais pas qu'il est parfait pour la cadre, mais c'est certainement un début. Bonne chance!
Cela a fonctionné pour moi:
Mettre ceci dans le fichier htaccess à la racine de votre site web.
Et puis si vous allez à la page http://localhost/api/person/susan
Vous verrez qu'il vous faut pour le fichier à http://localhost/api/api.php
J'ai aussi une page d'une recette que je vais à l'aide de http://localhost/recipe/edit/2
L'api.php fichier:
Les variables ci-dessus va tenir la catégorie: recette, action: ajouter ou modifier, et les données qui peuvent être un certain nombre qui est l'id de la recette ou de ce que jamais vous le souhaitez. Puis à l'intérieur de la add_recipe.php utiliser les variables pour déterminer si vous êtes à la modification ou de l'ajout d'une recette. Et si vous utilisez l'api, vous pouvez inclure des fichiers différents en fonction de ce que les requêtes ajax que vous utilisez pour parler de votre api.
Essayez ceci: