adressieren das DOT -Zeichen in MVC -Web -API 2 Anforderungsparameter
In MVC Web API 2 sind es bequem, mit Anforderungsparametern zu arbeiten, die an einem konsistenten Format einhergehen. Manchmal ist es jedoch notwendig, Anfragen zu bearbeiten, die Sonderzeichen wie einen Zeitraum (.) Enthalten. In diesem Artikel wird das Problem untersucht, das DOT -Zeichen in Anforderungsparameter aufzunehmen und eine praktische Lösung anzubieten.
zugrunde liegendes Problem
Der Benutzer, der beabsichtigt hat, Anfragen in der Format:
http://somedomain.com/api/people/staff.33311
Als sie dies ausprobierten, stießen sie jedoch auf einen 404 -Fehler. Dies geschah, da das Standard -Routing von Web -API so konzipiert wurde, dass Segmente im URL -Pfad als Controller- und Aktionsnamen mit optionalen Parametern erfasst werden. Das Punktcharakter in der Anfrage -URL verursacht Unklarheiten, da er entweder als Teil des Aktionsnamens oder als Abfrageparameter analysiert wird. Eine Möglichkeit, dies zu erreichen, besteht darin, der URL einen nachfolgenden Schrägstrich hinzuzufügen:
http://somedomain.com/api/people/staff.33311/ Der nachverfolgende Slash stellt sicher, dass der Parameter als ein abfragter String anstelle des URL -Pfadens behandelt wird. Dadurch kann die Web -API die Anfrage korrekt analysieren und der beabsichtigten Aktion zuordnen.
Implementierungsüberlegungen
http://somedomain.com/api/people/staff.33311/
Abhängig von der Serverkonfiguration müssen Sie möglicherweise auch web.config anpassen, um Punkte im URL -Pfad zu erlauben. Dies kann erreicht werden, indem das Attribut "Dendotsinpath" des httpruntime -Elements auf wahr eingestellt wird, wie unten gezeigt:
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3