In my interface I have declared this.
[OperationContract]
[WebGet]
String GetStuff(String beep, String boop = \"too lazy to type\");
I impl
You can try this, overloading the function.
[OperationContract]
MyResponse GetData();
[OperationContract(Name = "GetDataByFilter")]
MyResponse GetData(string filter);
Then another option is to use a DataContract instead of multiple parameters, and set IsRequired to false on the appropriate DataMembers, like explained in this question.