2012-05-23 9 views
9

Ho un semplice modulo Nancy. Voglio passare i parametri della stringa di query (q-s) al gestore. Se non ho alcun parametro q-s tutto va bene. Non appena aggiungo un parametro, viene restituito un codice di stato 404.NancyFX: i percorsi con parametri di stringa di query restituiscono sempre un 404 NotFound

NancyModule

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

Unit Test - passa l'esame

[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); 
} 

Unità - non riesce

[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); 
} 

Grazie

risposta

16

non si passa nella query sull'URL, invece utilizzare il metodo .Query sul contesto del browser

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

Non posso dire che questo è molto SDHP. –

+0

@ tom.dietrich questo qas pubblicato più di un anno fa e da allora il comportamento è cambiato in modo che funzioni – TheCodeJunkie

+1

Questo non sembra essere il caso quando mi sono imbattuto in questa stessa cosa la scorsa settimana. –

Problemi correlati