Метод контроллера веб-API asp.net, принимающий специальный параметр - PullRequest
0 голосов
/ 12 марта 2019

У меня есть API, который принимает 2 параметра по строке запроса:

Мы называем это так:

mydomain/myapimethod?url=www.toto.com&caller=tata

Мы получаем параметры, такие как:

[HttpGet]
[Route("myapimethod")]    
public HttpResponseMessage Get([FromUri] string url, [FromUri] string caller)
{
    //here url: www.toto.com and caller: tata
}

Все работает хорошо, проблема в том, что параметр url также состоит из строки запроса с несколькими параметрами, например:

mydomain/myapimethod?url=www.toto.com?parama=a&paramb=b&caller=tata

Тогда в моем методе:

[HttpGet]
[Route("myapimethod")]    
public HttpResponseMessage Get([FromUri] string url, [FromUri] string caller)
{
    //here url: www.toto.com?parama=a and caller: tata
    // my paramb is removed
    // what I would like to do is to obtain :
    // url: www.toto.com?parama=a&paramb and caller: tata
}

Мой URL-адресгенерируется javascript.

1 Ответ

0 голосов
/ 12 марта 2019

Вы должны обновить свой URL с

mydomain/myapimethod?url=www.toto.com?parama=a&paramb=b&caller=tata

до

mydomain/myapimethod?url=www.toto.com&parama=a&paramb=b&caller=tata

или закодируйте знак вопроса в% 3F

mydomain/myapimethod?url=www.toto.com%3Fparama=a&paramb=b&caller=tata
...