传递 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。