在针对 ASP.Net Web API 控制器编写一些验收测试代码时,我硬编码了要发布的 URL(减去域和端口)。这让我感到不安;如果控制器或其参数之一被重命名,我的 URL 将变为无效,但 Intellisense/Resharper 不会捕获它。是否有一种方法可以为控制器生成适当的 URI?
示例:给定一个看起来像这样的控制器:
public class FooController : ApiController
{
...
public HttpResponseMessage Get(string bar) { ... }
public HttpResponseMessage Post(string bar) { ... }
...
}
假设我编写了一些看起来像这样的测试代码(概念性):
sendPOSTforJSONresponse(baseURL + "api/Foo?bar=" + bar);
...
sendGETforJSONresponse(baseURL + "api/Foo?bar=" + bar);
但我想做的是"api/Foo?bar="
用类似GenerateURLForController(FooController).withParametersOfMethod(FooController.Get)
. 在标准的 ASP.Net Web API 库中有这样的方法吗?如果没有,我想我可以自己使用反射。