2010-11-17 11 views
1

j'ai interface simple que je veux le tester mais je have'nt compris quand utiliser UriTemplate:quand utiliser UriTemplate dans REST service WCF

comment pourrais-je accéder XMLData dans ce cas ...?

[OperationContract] 
     [WebInvoke(Method = "GET", 
      ResponseFormat = WebMessageFormat.Xml, 
      BodyStyle = WebMessageBodyStyle.Wrapped)] 
     string XMLData(string id); 

public class RestServiceImpl : IRestServiceImpl 
    {  
     public string XMLData(string id) 
     { 
      return "my xml data:" + id; 
     } 

Répondre

1

UriTemplate est une sorte de masque de votre méthode. Exemple:

[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Xml, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "myMethod/{id}")] 
string XMLData(string id); 

vous pouvez maintenant appeler la méthode de cette façon:

http://localhost/RestServiceImpl/myMethod/inputIdstring 

au lieu de ...

http://localhost/RestServiceImpl/XMLData?id=inputIdstring 

J'espère que cela aide ..

0

Par défaut, si vous ne spécifiez pas de UriTemplate, WCF fournira pour vous qui utilise un format de chaîne de requête, comme ceci:

XMLData?id={id} 

Cependant, vous voudrez peut-être un RESTful URI, au lieu, comme ceci:

xmldata/{id} 

Pour ces cas, vous ajoutez un UriTemplate. Si vous n'avez besoin de rien d'autre que la sémantique par défaut, n'hésitez pas à le laisser de côté.

+0

si je l'utilise pour URI RESTful pour les données POST que comment je ferais? –

+0

@Randolpho S'il vous plaît modifier votre réponse afin que je puisse reprendre mon vote accidentellement vers le bas. –

+0

Um ... d'accord. Tous édités :) – Randolpho

Questions connexes