为 WCF REST 服务生成示例数据

本文关键字:数据 服务生 WCF REST | 更新日期: 2023-09-27 18:36:28

有没有办法基于WCF REST接口生成示例XML/JSON?大多数情况下,使用我们的 Web 服务的设备将消息反序列化为其相关对象。但是,有时这是不可能的,因此我需要向开发人员发送他们需要提供给服务的实际XML/JSON以及输出的外观。有没有一种简单的方法来生成此信息,即使它使用数据类型默认值?

Web 服务接口的示例:

    [OperationContract]
    [WebGet(UriTemplate = "Test", ResponseFormat = WebMessageFormat.Xml)]
    ResultOfAction Test();
    // used to login
    [OperationContract]
    [WebInvoke(UriTemplate = "Login?", Method = "POST", ResponseFormat = WebMessageFormat.Xml, RequestFormat = WebMessageFormat.Xml, BodyStyle = WebMessageBodyStyle.Bare)]
    ResultOfAction Login(LoginRequest request);
    // register a client + forgot password
    [OperationContract]
    [WebInvoke(UriTemplate = "RequestOTP?", Method = "POST", ResponseFormat = WebMessageFormat.Xml, RequestFormat = WebMessageFormat.Xml, BodyStyle = WebMessageBodyStyle.Bare)]
    ResultOfAction RequestOTP(RequestOneTimePIN requestOneTimePin);

在上面的例子中,我需要看到 ResultOfAction、LoginRequest 和 RequestOneTimePIN 序列化 XML。有没有一种简单的方法来生成此类信息?

为 WCF REST 服务生成示例数据

在配置中设置 helpEnabled="true" 属性时,WCF 4.0 将根据从服务方法调用返回的格式生成示例数据:

<behaviors>  
    <endpointBehaviors>
        <behavior name="webHttpBehavior">
            <webHttp helpEnabled="true"/>
        </behavior>
    </endpointBehaviors> 
</behaviors>

下面是来自 MSDN 的示例。