开发者

WCF/Rest/UriTemplate variable length query string parameter list?

开发者 https://www.devze.com 2023-01-18 01:42 出处:网络
WCF will match this: http://localhost:8888/test/blahFirst/blahSecond/sdfsdf,wwewe to this: [OperationContract]

WCF will match this:

http://localhost:8888/test/blahFirst/blahSecond/sdfsdf,wwewe

to this:

[OperationContract]
[WebGet( UriTemplate = "test/{first}/{second}/{val1},{val2}" )]
string GetVal( string first, string second, string val1, string val2 );

Is there a way to make the va11, val2 be a variable length list of parameters? So it could be val1, ...., valN? And end up with a service method such as:

string GetVal( string first, string second, List<string> params );

Or something along thos开发者_JAVA技巧e lines?


Just GET a simple string and then convert it to an Array (or a list) in the method, using the split method.

Your Interface should look something like this:

[OperationContract]
[WebGet(UriTemplate = "test/{first}/{second}/{val1}")]
string GetVal(string first, string second, string val1);

Your implementation:

public string GetVal(string first, string second, string paramArray)
    {
        string[] parameters = paramArray.Split(',');

        foreach (string parameter in parameters)
        {
            Console.WriteLine(parameter);
        }

        return "Hello";
    }

And call it like this in your browser:

http://localhost:8731/MyServer/test/first/second/1,2,3

Take a look at the MSDN forum for a detailed answer

0

精彩评论

暂无评论...
验证码 换一张
取 消