Additional/Optional query string parameters in URI Template in WCF
Posted
by
Rajesh Kumar
on Stack Overflow
See other posts from Stack Overflow
or by Rajesh Kumar
Published on 2011-02-11T13:43:04Z
Indexed on
2012/09/29
9:38 UTC
Read the original article
Hit count: 424
I have written a simple REST Service in WCF in which I have created 2 method using same URI Template but with different Method(POST and GET). For GET method I am also sending additional query parameters as follows:
[WebInvoke(Method = "POST", UriTemplate = "users")]
[OperationContract]
public bool CreateUserAccount(User user)
{
//do something
return restult;
}
[WebGet(UriTemplate = "users?userid={userid}&username={userName}")]
[OperationContract]
public User GetUser(int userid, string userName)
{
// if User ID then
// Get User By UserID
//else if User Name then
// Get User By User Name
//if no paramter then do something
}
when I call CreateUserAccount with method POST it is working fine but when I call GetUser method using GET and sending only one query string parameter(userID or UserName) it is giving error "HTTP Method not allowed" but if send both parameters its wokrs fine.
Can anyone help me?
© Stack Overflow or respective owner