另一个用于轻松测试 REST 方法的通用工具





5.00/5 (1投票)
轻松测试不包含路由属性中参数的 REST 方法。
- 下载 Web_API_GET_REST_Test_ArgsNotInPath - 147.7 KB
- 下载 WebApiRESTTesterArgsNotInRoutingAttribute - 3.7 KB
另一半的生活方式
我写了一篇文章这里,题为“使用通用实用工具轻松测试 REST 方法”,只要您将通过 URI 传递的参数合并到服务器的路由属性中,就可以轻松测试 REST 方法。
换句话说,使用这样的控制器方法路由属性
[Route("api/DeliveryItems/{serialNum}/{ID:int}/{CountToFetch:int}")]
...客户端使用类似这样的 URI 访问以这种方式注释的方法
http://<serverName>:<portNum>/api/<ControllerName>/<serialNumVal>/<IDVal>/<CountToFetchVal>
或者对于一个字面/具体的例子
https://:28642/api/deliveries/dplatypus/1/42
这工作正常,并且具有使服务器上的路由属性自我文档化的优点。 但是,它确实将路径/路由信息(“http://<serverName>:<portNum>/api/<ControllerName>”部分)与要传递给该方法的参数(“<serialNumVal>/<IDVal>/<CountToFetchVal>”部分)混合在一起。
因此,我创建了一个新的实用工具,该工具允许测试具有如下路由属性的方法
[Route("api/DeliveryItems")]
方法本身保持不变
public IEnumerable<deliveryitem> GetRangeOfDeliveryItemsByStartingID(string serialNum, int ID, int CountToFetch)
{
return _deliveryItemRepository.GetRange(string serialNum, ID, CountToFetch);
}
...但现在它以这种方式被客户端调用
http://<serverName>:<portNum>/api/<ControllerName>/[<Differentiator>]/?
<arg1Name>=<arg1Val>&<arg2Name>=<arg2Val> (etc.)
一个字面例子是
https://:28642/api/deliveries?serialNum=dplatypus&ID=1&CountToFetch=42
-或者,如果存在一个“区分符”(克服任何可能歧义的方法名称)
https://:28642/api/deliveries/getThemThangs?serialNum=dplatypus&ID=1&CountToFetch=42
该实用工具的使用
要使用新的 Web API REST 测试器实用工具,首先需要保存到文件或以这种格式添加到“选择 URI 字符串”组合框条目中
- deliveries/Count
- deliveries/GetAll
- deliveries?ID={0}
- deliveries?ID={0}&CountToFetch={1}
- departments?serialNum={0}&ID={1}&CountToFetch={2}
- InventoryItems?serialNum={0}&ID={1}&CountToFetch={2}&packSize={3}
- InventoryItems/GetDeptRange?serialNum={0}&BeginDept={1}&EndDept={2}
换句话说,控制器名称,后跟区分符(如果有)(例如“Count
”或“GetAll
”),后跟第一个参数的问号,参数名称,等号和“{0}”。 对于后续参数,与号替换问号,并且大括号内的数字会递增。 该实用工具会将这些“大括号三明治数字”替换为您稍后添加的值。
然后,按照以下步骤操作(步骤编号对应于您在表单上看到的内容)

0) 在“输入基本 URI”文本框中输入“基本 uri”。 这类似于“https://:28642/api/”
1) 如果您将这些值保存到文本文件中,则可以通过“从文件加载 URI 字符串”按钮加载它。
2) 从组合框中选择一个值。
3) 点击“3) 发现 URI 字符串参数”按钮。 这将显示相应的标签和文本框,您可以在其中输入要用于每个参数的值。
4) 输入每个已发现的参数的值

5) 点击“5) (重新)构建 URI”按钮。 它将构建要传递给服务器的 URI,用您在文本框中输入的值替换占位符值,并在“5) (重新)构建 URI”按钮右侧的文本框中显示该 URI

6) 随着服务器的运行,作为最后一击,点击“6) 测试 URI”按钮。 如果您的代码是正确的,并且两极没有突然反转,并且没有巨大的电磁风暴,您将在下面的DataGridView
中看到结果。
注意:较大的文件是从 Visual Studio 通过“文件”>“导出模板...”保存的整个项目。较小的文件是文本文件中的源代码。
微妙的暗示,柔软的双手和想要的薄荷糖
如果您喜欢这篇文章,请注意我在蒂芙尼注册了(我甚至在那里吃过早餐!),而且我一直想“闪耀”,最好是红宝石、钻石、蓝宝石和青金石,更不用说大量的立方氧化锆了。 只是说说而已