2012-05-23 16 views
9

Tengo un módulo simple de Nancy. Quiero pasar los parámetros de cadena de consulta (q-s) al controlador. Si no tengo ningún parámetro q-s, todo está bien. Tan pronto como agregue un param entonces obtengo un código de estado 404 devuelto.NancyFX: las rutas con los parámetros de cadena de consulta siempre devuelven un 404 NotFound

NancyModule

public class SimpleModule : NancyModule 
{ 
    public SimpleModule() 
    { 
     Get["/"] = parameters => HttpStatusCode.OK; 
    } 
} 

Test Unit - Pasa la prueba

[Fact] 
public void SimpleModule__Should_return_statusOK_when_passing_query_params() 
{ 
    const string uri = "/"; 
    var response = Fake.Browser().Get(uri, with => with.HttpRequest()); 
    response.StatusCode.ShouldBe(HttpStatusCode.OK); 
} 

Unidad - falla

[Fact] 
public void SimpleModule__Should_return_statusOK_when_passing_query_params() 
{ 
    const string uri = "/?id=1"; 
    var response = Fake.Browser().Get(uri, with => with.HttpRequest()); 
    response.StatusCode.ShouldBe(HttpStatusCode.OK); 
} 

Gracias

Respuesta

16

no pasa en la consulta en la URL, en lugar de utilizar el método .query en el contexto del navegador

var result = browser.Get("/", with => { 
    with.Query("key", "value"); 
}); 
+4

No puedo decir que esto es muy SDHP. –

+0

@ tom.dietrich qas posted hace más de un año y desde entonces el comportamiento ha cambiado para que funcione – TheCodeJunkie

+1

Eso no parece ser el caso cuando me encontré con lo mismo la semana pasada. –

Cuestiones relacionadas