tutorial solicitud route que ninguna mvc español encontró controlador con coincida acción c# asp.net-web-api asp.net-web-api-routing

c# - solicitud - +(más) iniciar sesión en el enrutamiento de la API web



web api tutorial español (3)

Estoy trabajando con un proyecto web api de asp.net, y tengo que pasar un número de móvil a través de una publicación. Pero no puedo devolver un signo más.

mi ruta:

config.Routes.MapHttpRoute( name: "SmsRoute", routeTemplate: "rest/sms/{country}/{company}/phone/{mobilenumber}", defaults: new { controller = "Sms", action = "PostSms" });

controlador:

public HttpResponseMessage PostSms(string country, string company, string mobilenumber) { return Request.CreateResponse( HttpStatusCode.Created ); }

Cuando ejecuto este método de publicación en fiddler:

http://index.html/rest/sms/se/company/phone/46700101010/messages/out

Estoy recibiendo esta respuesta:

Pero quiero que me muestre el signo más.



Esta es una anomalía común a la que nos enfrentamos al agregar parámetros en las direcciones URL. Aquí puede tener una pista de lo que es su OP y lo que podría necesitar en una ejecución posterior

Puede tener muchas opciones como para + puede codificar en su archivo de script java usando

encodeURIComponent();

Y también para su facilidad si desea agregar caracteres especiales en su url como a . luego simplemente configure la propiedad relaxedUrlToFileSystemMapping en su web.config

<system.web> <httpRuntime relaxedUrlToFileSystemMapping="true" />

O simplemente puede agregar o eliminar algunos de los caracteres para bloquear / permitir el uso de requestPathInvalidCharacters en su web.config

<httpRuntime requestPathInvalidCharacters="&lt;,&gt;,*,%,&amp;,:,/,?"/>


IIS evita que los signos de más se encuentren en elementos de ruta de URL.

Para deshabilitar esta característica, en web.config :

<system.webServer> <security> <requestFiltering allowDoubleEscaping="true" /> </security> </system.webServer>