传递 REST 服务属性

相关项: API 测试

创建或编辑 REST 服务时,您可能希望在服务或资源级别定义 URL 属性值或自定义输入或输出属性的值,以使该值可用于服务或资源中包含的所有资源和方法。例如,如果 REST 服务资源/方法都引用相同的 URL 前缀,则您可以在服务级别定义 URL 属性值,并将该 URL 属性值传递到所有资源和方法。

也可以在层次结构的所有级别定义自定义输入和输出属性名称和值,并通过 REST 服务层次结构传递这些输入和输出属性及其值。有关创建自定义输入和输出属性的详细信息,请参见请参阅 "定义自定义属性 —— 可选"

服务级别所定义属性的示例

在更高级别定义 URL 属性值后,可为服务中包含的任意资源和方法定义该 URL 属性值的其他 (相对) 添加项。将这些调整后的相对 URL 值连接到从层次结构的更高级别接收到的 URL 属性值,将调整后的值传递到它下面的所有级别。例如,如果在服务级别添加一个 URL 属性值,则可以为选定的资源或方法附加相对 URL 路径。然后将从服务级别传递过来的 URL 属性值与在资源或方法级别添加的相对 URL 属性值相连接。

无法修改从 REST 服务层次结构的更高级别传递下来的 URL 属性值。只能向其添加相对 URL 值。

在层次结构的较低级别(如资源或方法级别)添加其他相对 URL 属性值后,必须确保完整 URL 是正确的 URL。例如,如果在资源级别使用 http:// 定义 URL 属性值,则在方法级别附加的相对 URL 属性值不应该也使用 http:// 前缀。

 

在服务级别 (顶层) 为 REST 服务定义 URL 属性值: http://flights.api.com。此值将传递给此 REST 服务内的所有资源和方法。

再为此服务创建 Flight Reservation 资源。将相对 URL 值定义为 /reserve。此相对 URL 属性值将与从服务级别传递来的 URL 属性值连接以创建该资源的 URL: http://flights.api.com/reserve。此 URL 属性值也可传递给为该资源创建的任何方法。

然后为 Flight Reservation 资源创建 GetFlights 方法,并将此方法的相对 URL 属性值定义为 /getflights。然后将此值进一步与从资源传递来的 URL 相连接组成此方法的完整 URL: http://flights.api.com/reserve/getflights

方法级别所定义属性的示例

这些属性和自定义输入或输出属性将充当 REST 服务的原型模板,您可以在将方法活动添加到画布中后,对 URL 属性值或自定义输入和输出属性值进行编辑。

当 REST 方法包含在画布的测试中时,不会显示该方法的相对 URL。只会在选定方法的“属性”窗格中显示“添加 REST 服务”对话框中所显示的该方法的完整、连接的 URL。