Création d'un service Web REST documenté basé sur Windows Un service WCF : une interface et une classe d'implémentation

Le service sera créé dans un premier temps comme tout service WCF, c'est-à-dire avec une interface et une classe d'implémentation. Elle utilisera également les attributs habituels du namespace System.ServiceModel.Web, pour la gestion en mode REST.

Pour la démonstration nous allons créer un Web Service avec une méthode Web HelloWord. Le code suivant donne un exemple d'interface pour notre Web Service :


  using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Web;
using Microsoft.ServiceModel.Web;
using System.Web.UI;


namespace WebApp.Svc
{
   [ServiceContract(Namespace="http://www.djdsoft.com/essaiService/",
                    SessionMode=SessionMode.Allowed)]
   public interface IEssaiService
   {
       [OperationContract]
       [WebGet(RequestFormat=WebMessageFormat.Xml,
               ResponseFormat=WebMessageFormat.Xml,
               UriTemplate="HelloWorld?value={text}")]
       [WebHelp(Comment="Methode de test du service web.")]
       string HelloWorld(string text);
   }
}



Ce qui diffère de l'accoutumé dans cette interface, c'est la présence de l'attribut WebHelp, qui permet d'apporter la documentation souhaitée en exigence. Cet attribut est fourni par le Starter Kit, et se trouve dans le namespace Microsoft.ServiceModel.Web. Ceci devrait générer quelque chose de ce genre :


page d'aide décrivant comment appeler notre service.
Page d'aide décrivant comment appeler notre service. © SQLI


 
Voilà donc notre page d'aide décrivant comment appeler notre service, et à la dernière ligne du tableau, la description que nous avions indiquée.