Adressage du caractère point dans les paramètres de requête de l'API Web MVC 2
Dans l'API Web MVC 2, il est pratique de travailler avec des paramètres de requête qui respecter un format cohérent. Cependant, il est parfois nécessaire de traiter des requêtes contenant des caractères spéciaux, comme un point (.). Cet article explore la question de l'inclusion du caractère point dans les paramètres de requête et propose une solution pratique.
Problème sous-jacent
L'utilisateur avait l'intention d'autoriser les requêtes au format :
http://somedomain.com/api/people/staff.33311
Cependant, lorsqu'ils ont essayé cela, ils ont rencontré une erreur 404. Cela s'est produit car le routage par défaut de l'API Web est conçu pour reconnaître les segments du chemin d'URL en tant que noms de contrôleur et d'action, suivis de paramètres facultatifs. Le caractère point dans l'URL de la requête provoque une ambiguïté car il est analysé soit comme une partie du nom de l'action, soit comme un paramètre de requête.
Solution proposée
Pour résoudre ce problème problème, l'utilisateur peut s'assurer que le paramètre de requête en question ne fait pas partie d'un segment de chemin d'URL et ne peut pas être confondu avec un contrôleur ou un nom d'action. Une façon d'y parvenir consiste à ajouter une barre oblique finale à l'URL, comme ceci :
http://somedomain.com/api/people/staff.33311/
La barre oblique finale garantit que le paramètre est traité comme une chaîne de requête au lieu d'une partie du chemin de l'URL. Cela permet à l'API Web d'analyser correctement la demande et de la mapper à l'action prévue.
Considérations relatives à la mise en œuvre
En fonction de la configuration du serveur, vous devrez peut-être également ajuster le Web. .config pour autoriser les points dans le chemin de l'URL. Ceci peut être réalisé en définissant l'attribut "allowDotsInPath" de l'élément httpRuntime sur true, comme indiqué ci-dessous :
<system.webServer> <httpRuntime allowDotsInPath="true" /> </system.webServer>
En implémentant cette solution, l'utilisateur peut gérer les requêtes avec un point dans le paramètre tout en conservant un format de demande cohérent et sans ambiguïté.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!