HTTP-запросы привязки модели в ASP.Net Core WebAPI

Вы должны добавить заголовок, чтобы принудительно загрузить.

header("Content-Disposition: Attachment")
header("Content-Disposition: Attachment;filename=FILENAME_HERE")

из http://www.symkat.com/force-download-with-http-headers

1
задан Paul S 16 January 2019 в 20:58
поделиться

2 ответа

По замыслу, GET запрос не содержит данных в теле запроса. Поэтому, когда ваш метод Submit получает запрос, он не может связать модель из тела, поскольку данные не существуют, и поэтому возвращает неверный ответ на запрос.

Поскольку ваш метод называется Submit , звучит так, как будто вы должны использовать запрос POST. POST Запрос, по замыслу, отправляет данные в теле запроса и подходит для отправки данных на сервер.

Попробуйте это так

[HttpPost]
public async Task<IActionResult> Submit([FromBody]SubmitModel model)
{ 
   // this endpoint returns a 400 bad request
   return Ok();
}
0
ответ дан Marcus Höglund 16 January 2019 в 20:58
поделиться

Я не знаю, есть ли хороший способ сделать то, что ты хочешь. Чтобы немного приблизиться, вы можете добавить этот атрибут для извлечения непосредственно из URL

[HttpGet]
public ActionResult Get([FromUri]SubmitModel model)
{ 
   // this endpoint returns a 400 bad request
   return Ok();
}

Еще одна вещь, которую вы можете сделать, если это необходимо, - создать метод расширения, отражающий модель и добавляющий все свойства / значения в строке запроса. Вот несколько хороших примеров . Как сериализовать объект в формат строки запроса?

0
ответ дан Ryan Schlueter 16 January 2019 в 20:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: