C # Web API Return имя действия + параметры в качестве имени файла - PullRequest
0 голосов
/ 10 января 2019

Я создал C # MVC4 Web API, используя VS2010. Когда я пытаюсь выполнить отладку с помощью вызова API (http://localhost/APITest/test?data=12345-45678-890),), система возвращает action + parameters ["test? Data = 12345-45678-890"] в качестве имени файла и просит сохранить файл. Я не могу открыть файл. или полностью сохраните файл. Могу ли я узнать, в чем причина проблемы?

Заранее спасибо.

Попытка поиска вокруг не может найти подобную проблему, с которой я столкнулся.

    [HttpGet]
    public DocumentModel Test(String data)
    {
        List<DocumentModel> doc = new List<DocumentModel>();
        DocumentModel docObj;
        docObj.Name = "Venom";
        docObj.Decription = "Fiction story";            
        docObj.Remarks = "Remarks";
        doc.Add(docObj);
        return docObj;
    }

Предположительно, верните DocumentModel в виде строки json.

Ответы [ 2 ]

0 голосов
/ 10 января 2019

Спасибо за все ответы. Я обнаружил, что корень проблемы вызвал ее из-за нескольких действий [HttpGet] в моем APiController. Я получил сообщения об ошибках из браузера после развертывания в IIS и пробного запуска. Выдает ошибку «Найдено несколько действий, соответствующих запросу». Но это не дает никакой ошибки во время выполнения отладки VS2010 и напрямую запрашивает имя файла с параметрами action + в браузере. После проделал поиск и нашел ниже ссылку и решил проблему.

https://hassantariqblog.wordpress.com/2015/11/30/webapi-multiple-actions-were-found-that-match-the-request/

Большое спасибо.

0 голосов
/ 10 января 2019

Вы можете установить сигнатуру метода для возврата ActionResult:

public ActionResult Test(String data)

... и затем оберните ваш возвращаемый объект с помощью Json ():

return Json(docObj);

Проверьте этот ТАК вопрос для большего количества примеров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...