WebAPI-Leitweg 404, wenn in der URL ein Leerzeichen enthalten ist

8

Mit der Standard-Web-API-Route

%Vor%

und ein Controller

%Vor%

Eine Anfrage an 'api/test/1'

gibt 1

zurück

Wenn Sie aus irgendeinem Grund eine Anfrage an 'api/test/1%20'

senden

die Route 404's.

Nun mag dieses Beispiel albern erscheinen, da Browser nachstehende Leerzeichen trimmen, aber

für eine Route wie 'api/{controller}/{id}/{extrastuff}'

das Leerzeichen in '1 ' würde in '1%20' konvertiert und die Anfrage wird 404 auf der Route nicht gefunden.

    
Steve 15.11.2012, 21:10
quelle

2 Antworten

26

Ihr Problem hat nichts mit WebAPI selbst zu tun, sondern wie Asp.Net bestimmte URLs behandelt. Und Asp.Net behandelt diese URLs auf sehr paranoide Weise, also müssen Sie es sich zu entspannen .

Fügen Sie diese Zeile zu Ihrer web.config unter system.web :

hinzu %Vor%

Sie können mehr zu diesem Thema lesen:

Auch auf SO:

nemesv 15.11.2012, 21:47
quelle
0

Fügen Sie dies den Handlern hinzu

%Vor%     
Toolkit 15.12.2016 12:57
quelle