NancyFX:带有查询字符串参数的路由始终返回404 NotFound

bio*_*tal 11 .net query-string nancy

我有一个简单的南希模块.我想将查询字符串(qs)参数传递给处理程序.如果我没有任何qs参数,一切都很好.一旦我添加了一个参数,我就会收到一个404状态代码.

NancyModule

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

单元测试 - 通行证

[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);
}
Run Code Online (Sandbox Code Playgroud)

单元测试 - 失败

[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);
}
Run Code Online (Sandbox Code Playgroud)

谢谢

The*_*kie 18

您不会在URL上传递查询,而是在浏览器上下文中使用.Query方法

var result = browser.Get("/", with => {
    with.Query("key", "value");
});
Run Code Online (Sandbox Code Playgroud)

  • 我不能说这是非常SDHP. (4认同)