|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : février 2009 Messages : 310 ![]() |
Bonjour,
J'ai développé un service web sur une plateforme peut connu du public car un peu obsolète. cependant je consomme ce service web en php avec cURL. J'ai une question sur le choix des URI. Mon service renvoi l'analyse d'une phrase. Cette analyse est renvoyer en differente representation(aussi bien au niveau du format qu'au niveau de la representation elle meme) j'hesite entre ces deux niveau : Code :
http://domaine.fr/Analyse?app=XMLTei&text=le+chat+mange+la+souris Code :
http://localhost/Analyse/XMLTei&text=le+chat+mange+la+souris laquelle de ces solutions est la plus ReSTful ? merci |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : juin 2008 Messages : 2 658 ![]() |
Salut,
Personnellement, je préfèrerais plutôt la forme: baseURI?text=le+chat+mange+la+sourisi.e. autre chose que celles que vous avez proposé. Ce qui suppose que baseURI de la forme: http://localhost/Analyse/XMLTeiMais xmltei est, je suppose, le format dans lequel vous souhaitez que soit retournée la réponse i.e. ce qui est plutôt à transférer dans l'en-tête Accept de la requête. Du coup, je ne vois pas pourquoi baseURI ne s'écrirait pas plutôt: http://localhost/analysesCordialement - W
__________________
Architectures Post-Modernes |
|
|
00
|
|
|
#3 | |
|
Membre du Club
![]() Inscription : février 2009 Messages : 310 ![]() |
Citation:
En fait je proposai la baseURI http://localhost/Analyse/XMLTeiau lieu de l'en tête Accept car il existe d'autre sortie Xml correspondant à une analyse. Ces differentes sortie XML correspondent à des informations parfois différentes ce qui laisse penser que XMLTei et Xml sont deux applications différentes et donc deux ressources différentes. Dans ce contexte pensez vous que je puisse garder l'Uri de base : http://localhost/Analyse/XMLTeiou dois-je passser par l'en tête ? merci |
|
|
|
00
|
|
|
#4 | ||
![]() ![]() Inscription : juin 2008 Messages : 2 658 ![]() |
Citation:
Citation:
Mais vu qu'elle est associée à un format particulier, c'est pas trop "REST". - W
__________________
Architectures Post-Modernes |
||
|
|
00
|
|
|
#5 | |
|
Membre du Club
![]() Inscription : février 2009 Messages : 310 ![]() |
Citation:
si je comprends bien il faut que je repense mon architecture pour etre "ReSTful". |
|
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : février 2009 Messages : 310 ![]() |
je viens de voir que mon service ne gérait que la version 1.0 du protocole HTTP.
Par consequent pas de Accept mais Content-type. ça me semble pas etre la mais chose non? |
|
|
00
|
|
|
#7 | |
![]() ![]() Inscription : juin 2008 Messages : 2 658 ![]() |
Citation:
Testez voir ce que fait votre serveur Web dans ce cas et comment vous pouvez en récupérer la "valeur" plus bas. - W
__________________
Architectures Post-Modernes |
|
|
|
00
|
|
|
#8 | |||
|
Membre du Club
![]() Inscription : février 2009 Messages : 310 ![]() |
Citation:
Code :
Par contre comment mettre en place le Accept? J'utilise Client REST simple sur Chrome. Dans l'entete j'essai d'utiliser le Accept en changeant sa valeur mais il me renvoi toujours le xml et pas d'erreur... |
|||
|
|
00
|
|
|
#9 | |
![]() ![]() Inscription : juin 2008 Messages : 2 658 ![]() |
Citation:
Lorsque la rêquete HTTP arrive, il faut savoir quoi en faire en fonction de la baseURI et éventuellement de la méthode. La requête est passée à une action/application/contrôleur qui doit construire la réponse. Ici, récupérer "l'état interne de la resource" et la retourner dans le body de la réponse dans le format demandé. Reste à savoir si "action/application/contrôleur": - récupère le header, - sait en faire quelque chose pour formatter la réponse Quand vous faites quelque chose qui veut ressembler à du ReST, vous vous contraignez à utiliser des URI, les méthodes HTTP (GET, POST,...) et les headers pour traiter format, charset,... des représentations échangées. En gros, cela définit une API 'simple' à réaliser mais à réaliser quand même. - W
__________________
Architectures Post-Modernes |
|
|
|
00
|
|
|
#10 | |
|
Membre du Club
![]() Inscription : février 2009 Messages : 310 ![]() |
Citation:
j'utilise bien le HTTP 1.1 et j'ai bien trouvé la solution pour utiliser Accept dans l'entête. J'ai donc paramétrer pour avoir la réponse souhaitée selon la valeur de Accept dans l'entête. Ensuite je renvoi ma representation de la ressource decrite par l'uri : /Analyse J'ai donc enlever le parametre app comme conseiller. reste a voir ce que je peux encore faire pour avoir une architecture la plus ReST possible |
|
|
|
00
|
|
|
#11 |
![]() ![]() Inscription : juin 2008 Messages : 2 658 ![]() |
__________________
Architectures Post-Modernes |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com