4

我正在尝试通过 Nancy.Testing.Browser 对象传递路由参数(不是查询参数!)。我了解(现在)如何向/从我的 NancyModule 发送和使用查询字符串:

var customerResponse = browser.Get("/customer/id", with =>
{
    with.HttpRequest();
    with.Query("{id}", alansIdGuid.ToString());
});

...

Get["/customer/{id}"] = parameters =>
{
    string idFromQuery = Request.Query.id;
    Customer customerFromId = _customerRepo.GetCustomerById(idFromQuery);
    return Response.AsJson<Customer>(customerFromId);
};

但是 - 我想要做的是点击我的路线并检索我的路线参数,如下所示:

Get["/customer/{id}"] = parameters =>
{
    string id = parameters.id;
    Customer customerFromId = _customerRepo.GetCustomerById(id);
    return Response.AsJson<Customer>(customerFromId);
};  

如何使用 Nancy.Testing.Browser 将我的 Id 参数作为路由参数传递?

- 不使用标题、Cookie 或查询字符串?

这是一个看似简单的任务的 3 小时搜索!以下问题围绕该问题展开,但未解决:

从测试向 Nancy 模块发送参数

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

为什么没有查询参数被传递到我的 NancyFX 模块?

4

1 回答 1

5

我是个白痴……我想答案对其他人来说似乎很明显!

var customerResponse = browser.Get("/customer/" + alansIdGuid.ToString(), with =>
{             
    with.HttpRequest();
});

只需将您的查询字符串/值附加到您正在使用的 Nancy.Testing.Browser 对象的请求 URL 的末尾。

于 2013-11-05T01:49:39.263 回答