У меня есть сетевой контроллер ASP - GET с 4 аргументами (последний ожидает Json)
[HttpGet]
[Route("api/Workflow/executeworkflow")]
public int Executeworkflow(int id, string userName, bool isJson, string overwriteArguments)
{
...
Если я сделаю запрос из браузера в следующей форме, он будет работать нормально http://localhost:1234/api/Workflow/executeworkflow?id=1661&userName=myName&isJson=true&overwriteArguments={"arg1":"bla","arg2":"blabla", "arg3 ":" blablabla "}
Мне нужно запланировать такой запрос и использовать для этого Curl.Но я не могу понять, как передать его в curl
Я попробовал следующий curl.exe -X GET "http://localhost:1234/api/Workflow/executeworkflow?id=1661&userName=myName&isJson=true&overwriteArguments={\"arg1\":\"bla\",\"arg2\":\"blabla\", \" arg3 \ ": \" blablabla \ "}"
он попадает в контроллер, но последний (аргумент Json) как-то разбивается. В режиме отладки функция вызывается дважды, сначала с правильными тремя аргументами, но последний принимается как "\" arg1 \ ": \" bla \"", а затем во второй раз, снова с правильными первыми тремя аргументами и последним "\" arg2 \ ": \" blabla \ "" Что непонятно и еще более запутанно, что его не называют третьим временем ...Поэтому по какой-то причине последний аргумент был разделен.
Просмотр Stackoverwflow Я попытался разделить параметры - передать первые три обычным способом и пройти последним путем с опцией -d, например, curl.exe -X GET "http://localhost:1234/api/Workflow/executeworkflow?id=1661&userName=myName&isJson=true" -d 'overwriteArguments = {"arg1": "bla", "arg2": "blabla", "arg3": "blablabla"}'
В этом случае он даже не идетк этой функции и переходит к функции только с первыми двумя параметрами
Я играл со многими другими вада, но не мог заставить это работать - оценил бы любую помощь!Спасибо, Арбус