когда использовать UriTemplate в службе REST WCF - PullRequest
1 голос
/ 17 ноября 2010

У меня простой интерфейс, который я хочу протестировать, но я не понял, когда использовать URITemplate:

как мне получить доступ к XMLData в этом случае ...?

[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;
        }

Ответы [ 2 ]

2 голосов
/ 26 августа 2011

UriTemplate - это своего рода маскировка вашего метода.Пример:

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

Теперь вы можете вызывать метод следующим образом:

http://localhost/RestServiceImpl/myMethod/inputIdstring  

вместо ...

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

Надеюсь, это поможет1010 *

0 голосов
/ 17 ноября 2010

По умолчанию, если вы не укажете UriTemplate, WCF предоставит вам тот, который использует формат строки запроса, такой как:

XMLData?id={id}

Однако вместо этого вам может понадобиться RESTful URI, например:

xmldata/{id}  

Для этих случаев вы добавляете UriTemplate. Если вам не нужна ничего, кроме семантики по умолчанию, не стесняйтесь оставить это.

...