Adressieren des Punktzeichens in MVC Web API 2-Anforderungsparametern
In MVC Web API 2 ist es praktisch, mit Anforderungsparametern zu arbeiten, die Halten Sie sich an ein einheitliches Format. Manchmal ist es jedoch erforderlich, Anfragen zu verarbeiten, die Sonderzeichen wie einen Punkt (.) enthalten. Dieser Artikel untersucht das Problem der Einbindung des Punktzeichens in Anforderungsparameter und bietet eine praktische Lösung.
Grundlegendes Problem
Der Benutzer wollte Anfragen im Format zulassen:
http://somedomain.com/api/people/staff.33311
Als sie dies jedoch versuchten, stießen sie auf einen 404-Fehler. Dies geschah, weil das Standardrouting der Web-API darauf ausgelegt ist, Segmente im URL-Pfad als Controller- und Aktionsnamen zu erkennen, denen optionale Parameter folgen. Das Punktzeichen in der Anforderungs-URL führt zu Mehrdeutigkeiten, da es entweder als Teil des Aktionsnamens oder als Abfrageparameter analysiert wird.
Vorgeschlagene Lösung
Um dieses Problem zu beheben Bei diesem Problem kann der Benutzer sicherstellen, dass der betreffende Anforderungsparameter nicht Teil eines URL-Pfadsegments ist und nicht mit einem Controller- oder Aktionsnamen verwechselt werden kann. Eine Möglichkeit, dies zu erreichen, besteht darin, der URL einen abschließenden Schrägstrich hinzuzufügen, etwa so:
http://somedomain.com/api/people/staff.33311/
Der abschließende Schrägstrich stellt sicher, dass der Parameter als Abfragezeichenfolge und nicht als Teil des URL-Pfads behandelt wird. Dadurch kann die Web-API die Anfrage korrekt analysieren und der beabsichtigten Aktion zuordnen.
Überlegungen zur Implementierung
Abhängig von der Serverkonfiguration müssen Sie möglicherweise auch Web anpassen .config, um Punkte im URL-Pfad zuzulassen. Dies kann erreicht werden, indem das Attribut „allowDotsInPath“ des httpRuntime-Elements auf „true“ gesetzt wird, wie unten gezeigt:
<system.webServer> <httpRuntime allowDotsInPath="true" /> </system.webServer>
Durch die Implementierung dieser Lösung kann der Benutzer Anfragen mit einem Punktzeichen im Parameter verarbeiten und gleichzeitig beibehalten ein konsistentes und eindeutiges Anfrageformat.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit Punktzeichen (.) in MVC Web API 2-Anforderungsparametern um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!